Nginx 如何禁止对 index.php 的直接访问

2016-12-19 15:41:29 +08:00
 ioioioioioioi
location / {
    try_files   $uri /index.php?$query_string;
}
2184 次点击
所在节点    问与答
7 条回复
lslqtz
2016-12-19 15:44:43 +08:00
不清楚能不能用。。
location /index.php {
return 403;
}
ioioioioioioi
2016-12-19 15:49:19 +08:00
@lslqtz 不行。
lslqtz
2016-12-19 15:49:33 +08:00
好吧。。不行
我查查
lslqtz
2016-12-19 16:06:50 +08:00
@ioioioioioioi 没查到,我觉得可以在 php 做限制。。
设置 index 和 try_files 后,我得到的$uri 变量直接是 index.php 了。。
lslqtz
2016-12-19 16:11:27 +08:00
<?php if ($_SERVER['REQUEST_URI'] == '/index.php') { header('HTTP/1.1 403 Forbidden'); die(); } ?>
我在 php 用这句可以实现,但是 nginx 没搞懂,如果有人知道怎么解决也顺便艾特我一下 :D
privil
2016-12-19 16:18:26 +08:00
location =/index.php {
return 403;
}
查了下,有优先级的。
lslqtz
2016-12-19 21:16:55 +08:00
@privil 我当时试着使用 location = "/index.php"
但是无效,因为传过来的参数似乎已经被改写了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/328648

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX