【已解答】问一个宝塔NGINX规则的问题
在服务器上新建了一个站点,在站点的配置文件里新增了一个规则发现将规则放到这个地方,无法生效。
必须把这段放到
include enable-php-73.conf;
的上面,才会生效。访问123.php的时候才会返回404
我早上问了一个问题
http://wwww.xxx.com/123.php?id=12344
index.php后面凡是跟着?id=12344这样参数的,直接返回一个404状态
定义了规则:
location ~ ^/123.php
{
if ($args ~ id=) {
return 404;
}
}
还是需要把这段放
include enable-php-73.conf;
的上面,才会生效。
不过直接访问123.php的时候又会弹出直接下载123.php
您好,您把您在网站主配置中添加的配置全部删除,
然后到伪静态中添加:
if ( $request_uri !~* 123.php$ ) {
return 404;
}
意思是说,当访问url中匹配到不是 123.php结尾的url地址,都跳转到 404 大炮运维V587 发表于 2021-8-13 10:02
您好,您把您在网站主配置中添加的配置全部删除,
然后到伪静态中添加:
你看我的问题1:
为嘛要把那段放在
include enable-php-73.conf;
的上面,才会生效。 budogf 发表于 2021-8-14 14:08
你看我的问题1:
为嘛要把那段放在
include enable-php-73.conf;
Nginx加载配置文件是从上到下的,
include enable-php-73.conf;
这里是include中的配置,有多个匹配的话,下面的优先级低于上面的配置,下面的location就不再匹配。
大炮运维V587 发表于 2021-8-14 14:40
Nginx加载配置文件是从上到下的,
那个我:
location ~ ^/123.php
{
if ($args ~ id=) {
return 404;
}
}
岂不是要写到enable-php-73.conf才能生效,不过这样所有使用7.3版本的网站都会执行这个规则。也不行 budogf 发表于 2021-8-14 14:49
那个我:
你自己看Nginx的官方文档研究下,比其他人告诉你的要理解的深,代码这一块,只有自己测试了才知道 本帖最后由 budogf 于 2021-8-16 09:19 编辑
大炮运维V587 发表于 2021-8-14 14:59
你自己看Nginx的官方文档研究下,比其他人告诉你的要理解的深,代码这一块,只有自己测试了才知道 ...
搞定了
location ^~ /123.php {
if ($args ~ id=) {
return 404;
}
try_files $uri = 404;
fastcgi_pass unix:/tmp/php-cgi-73.sock;
fastcgi_index index.php;
include fastcgi.conf;
include pathinfo.conf;
}
写在站点管理中的伪静态
不知道这样的写法有无什么不好的地方?请指示
location /admin{
try_files $uri $uri/ /www/wwwroot/front/dist/index.html;
}
location / {
try_files $uri $uri/ /index.html;
}
请问我nginx中加了这个/admin 的但是页面输入/admin地址没有生效,什么情况?
页:
[1]