###背景 网站采用PHP作为后端开发语言,采用Thinkphp做为核心开发框架。php
###问题html
//通常的URL生成方式为 U('xxx/xxx',[a=>b]); //目前网站中存在这种写法 U('xxx/xxx').'&a=b'; /* 上面不规范写法在伪静态前与伪静态后生成的URL对比 伪静态前:/index.php?mod=xxx&act=xxx&a=b 能够正常访问 伪静态后:/xxx/xxx.html&a=b 404 */
若是去花时间修复这种不规范的写法,不只费时费力,并且后期也不免出现这种不规范的写法。nginx
因此考虑使用nginx rewrite模块重写为正确的URL后端
###解决方法框架
#为第一次出现伪静态后缀的URL添加? rewrite ^(.*?)\.(html|php)[^\?](.*)$ $1.$2?$3 last;