vps交流

nginx伪静态规则问题


网页是   /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+

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

这是技术问题,有技术的上。
现在暂时解决办法是要么写两条规则或者对获取的值str_replace下nginx伪静态规则问题nginx伪静态规则问题
总感觉还是欠佳
建议不要用 rewrite 来做伪静态,用 try_files 吧

比如 WordPress 的伪静态规则:

  1. try_files $uri $uri/ /index.php?$args;

复制代码

nginx伪静态规则问题