当前位置:论坛首页 > Linux面板 > 求助

【已解答】nginx 配置arg参数后,对应index.php无法打开,变成

发表在 Linux面板2021-4-14 15:28 [复制链接] 7 1874

  1.    location = /index.php
  2.     {
  3.       
  4.    
  5.         if ($args ~ (tid=|wz=|wzz=|skeyword=|colour=|stock=|video=|Movies=|zq=|id=))
  6.         {
  7.             return 404;
  8.         }
  9.       
  10.         }
复制代码


Nginx 版本1.18
PHP  版本7.4
没有开启
在Nginx的配置文件如上图后, 发现:
www.域名/index.php?tid=123456 等参数 ,均会返回 404代码和显示错误页。

但单打开 www.域名/index.php
或者 不包括上述参数的其它参数网址时,如www.域名/index.php?ABCD=123456 均变成下载 index.php 这个文件。

网上找了很多的教程(很多是讲127.0.0.1:9000 及fastcgi 配置的),都无法解决问题!

特别求助!
使用道具 举报 只看该作者 回复
发表于 2021-4-14 15:36:48 | 显示全部楼层
同域名同服务器网站的其它 php,  如 www.域名/test.php 却能正常打开!
使用道具 举报 回复 支持 反对
发表于 2021-4-14 16:11:13 | 显示全部楼层
你这个配置不是将index.php请求带有tid=|wz=|wzz=|skeyword=|colour=|stock=|video=|Movies=|zq=|id=的参数值都返回404吗?
使用道具 举报 回复 支持 反对
发表于 2021-4-14 16:25:51 | 显示全部楼层
小新 发表于 2021-4-14 16:11
你这个配置不是将index.php请求带有tid=|wz=|wzz=|skeyword=|colour=|stock=|video=|Movies=|zq=|id=的参数 ...

在Nginx配置文件中
= 号的优先级最高,其他的都是从上往下匹配,当有多个相同配置的时候,谁在前谁先匹配,后面的就不生效了。
使用道具 举报 回复 支持 反对
发表于 2021-4-14 16:28:29 | 显示全部楼层
如果需要  www.域名/index.php 的域名,及其它不包括网址参数tid=|wz=|wzz=|skeyword=|colour=|stock=|video=|Movies=|zq=|id=的网址,都能正常访问。应该如何缩写代码?
使用道具 举报 回复 支持 反对
发表于 2021-4-14 16:36:27 | 显示全部楼层
小新 发表于 2021-4-14 16:11
你这个配置不是将index.php请求带有tid=|wz=|wzz=|skeyword=|colour=|stock=|video=|Movies=|zq=|id=的参数 ...

正想达到这个目的,同时非这些参数的网址index.php 均要能正常访问
使用道具 举报 回复 支持 反对
发表于 2021-4-16 11:33:28 | 显示全部楼层
看看错误日志和粘个站点全配置文件上来看看。。
我也好奇你这个问题。
使用道具 举报 回复 支持 反对
发表于 2021-4-16 11:37:20 | 显示全部楼层
你这程序需要伪静态的吗?
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理
快速回复 返回顶部 返回列表