欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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错误,请教大家,我的写法是不是有问题


回复讨论(解决方案)

重写成 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;