Nginx伪静态写法问题
程序员文章站
2022-05-22 19:46:22
...
目标:将 zonggang.php?shuhao=130重写成 read/130
以前用的win服务器,使用appserv ,这样写就ok:
RewriteRule ^/?read/([0-9]+) zonggang.php?shuhao=$1
现在换了liunx ,用的nginx服务器在网上找了转化写法
rewrite ^/?read/([0-9]+)$zonggang.php?shuhao=$1 last ;
结果提示404错误,请教大家,我的写法是不是有问题
path_info 模式已经开启
建一文件
show.php
echo $_SERVER['PATH_INFO'];
执行
http://servername/show.php/a/b/c/d
用这个方法,已经得到结果 /a/b/c/d
还是404,真是奇了怪了
以前用的win服务器,使用appserv ,这样写就ok:
RewriteRule ^/?read/([0-9]+) zonggang.php?shuhao=$1
现在换了liunx ,用的nginx服务器在网上找了转化写法
rewrite ^/?read/([0-9]+)$zonggang.php?shuhao=$1 last ;
结果提示404错误,请教大家,我的写法是不是有问题
回复讨论(解决方案)
重写成 read/130 就需要启用 path_info 模式,你做到了没有?
重写成 read/130 就需要启用 path_info 模式,你做到了没有?
path_info 模式已经开启
建一文件
show.php
echo $_SERVER['PATH_INFO'];
执行
http://servername/show.php/a/b/c/d
用这个方法,已经得到结果 /a/b/c/d
rewrite ^/?read/([0-9]+)$ zonggang.php?shuhao=$1 last ;
rewrite ^/?read/([0-9]+)$ zonggang.php?shuhao=$1 last ;
还是404,真是奇了怪了
已经搞定,还是静态规则写错了,找了个转换工具
rewrite ^/?read/([0-9]+) /zonggang.php?shuhao=$1;