热搜:NVER node 开发 php

Nginx伪静态写法问题

2024-08-13 16:50:02
Nginx伪静态写法问题

目标:将 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
<?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;