首頁 > 後端開發 > php教程 > thinkphp nginx php-fpm url rewrite 導致 404 錯誤

thinkphp nginx php-fpm url rewrite 導致 404 錯誤

WBOY
發布: 2016-07-29 09:12:36
原創
1268 人瀏覽過

thinkphp nginx php-fpm url rewrite 導致404 錯誤

之前thinkphp的系統部署在apache上,考慮到在並發性能nginx比apache強悍得多,所以在centos上以nginx+php-fpm模式重新部署了thinkphp系統,結果發現諸如

1

/index. 此類的url nginx會報404錯誤,但改成

1

. s=/
/

home

/user
verify

前一種url nginx不支持,那為啥會不支持呢?要解決這個問題首先要明白thinkPHP的幾種url模式。 thinkPHP URL模式1. pathinfo 模式

1
/

user

/

verify

這種url格式,需要伺服器支援pathinfo / ?s=/home/user/

verify

3

去掉index.php的偽靜態模式
3.相容模式

普通的模式加s=/參數/或m=model&a=actionthinkPHP URL模式配置在檔案/Application/Common/conf.php 中修改URL_MODEL 的值 1'URL_MODEL'=

>

3 nginx pathinfo模式配置

nginx預設是不支援pathinfo模式的,需要手動新增rewrite規則來支援

1. 開啟/nginx/conf/vhost目錄下的網站設定檔。

2. 在server節點中增加如下location規則:

16~
2

3

45
7

#以index.php開頭的uri

location

        

{!

                   if(!-e)$(
-

e

)$                           #將

pathinfo模式的

uri改寫成普通模式    rewrite  ^/index.php (.*)$  /index.php?s=

$

1 

                             }   

3. 重新載入nginx設定資訊

1

Done !

以上就介紹了thinkphp nginx php-fpm url rewrite 導致 404 錯誤,包括了Application方面的內容,希望對PHP教程有興趣的朋友有所幫助。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板