thinkphp3.2.3之apache轉nginx偽靜態設定
阿新 • • 發佈:2019-01-02
本地開發的專案,使用的是apache伺服器,完成專案之後,之前搭建到的伺服器都是Windows伺服器上,從而上線,這次需要在寶塔上nginx伺服器上搭建,所以需要將apache的偽靜態更改為nginx:
1.在網上搜索到的基本上都不是自己理想狀態下的需求,搜尋到的方法基本上與比如說如下連結:
搜尋到的方法基本上與上面連結描述的一致,但是無論怎麼樣,URL的重寫都是失敗的,無法正常執行專案。
2.寶塔內建的偽靜態也是不能成功解決我遇到的這種問題:
選中其中的thinkphp也是無法正常執行專案!!!
最後想到了另一種解決辦法,thinkphp的四種URL模式中的重寫模式,最終解決了問題,解決流程:
1.開啟寶塔Apache轉Nginx工具:
2.開啟.htaccess檔案複製URL重寫模式並將此進行轉換:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
轉換之後為:
if (!-d $request_filename){
set $rule_0 1$rule_0;
}
if (!-f $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/(.*)$ /index.php/$1 last;
}
將以上轉換過的程式碼複製到偽靜態修改框內儲存即可解決問題: