###背景 网站采用PHP做为后端开发语言,采用Thinkphp作为核心开发框架。
###问题
//一般的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 rewrite模块重写为正确的URL
###解决方法
#为第一次出现伪静态后缀的URL添加?
rewrite ^(.*?)\.(html|php)[^\?](.*)$ $1.$2?$3 last;
来源:oschina
链接:https://my.oschina.net/u/135537/blog/510761