###背景 網站採用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;