nginx伪静态规则问题

101次阅读

共计 428 个字符,预计需要花费 2 分钟才能阅读完成。

网页是   /a.php?id=1  伪静态成 a/ 1 或者 a /1/
现在  
rewrite “^/a/(.+)/?” /a.php?id=$1 last;
或者
rewrite “^/a/(.+)(/|)” /a.php?id=$1 last;
的话 拿到的 ID 变成 1/
写成
rewrite “^/a/(.+)/” /a.php?id=$1 last;
rewrite “^/a/(.+)” /a.php?id=$1 last;
上面这样倒是能成 但是得两句 太麻烦了 有没有大佬指导下

网友回复:

注册 .+ 改成 d +

amo 后面还有汉字 数字 字母  不确定的 这个是搜索链接

rooney 这是技术问题,有技术的上。

amo 现在暂时解决办法是要么写两条规则或者对获取的值 str_replace 下 总感觉还是欠佳

gogoo2 建议不要用 rewrite 来做伪静态,用 try_files 吧 比如 WordPress 的伪静态规则:try_files $uri $uri/ /index.php?$args; 复制代码

amo 好的 感谢各位

正文完
 0