在nginx中配置pathinfo模式支持thinkphp的URL重寫
更新時間:2014年04月18日 10:56:09 作者:
這篇文章主要介紹了在nginx中配置pathinfo模式的例子,用來支持thinkphp的URL重寫,并解決了thinkphp一個路徑問題,需要的朋友可以參考下
最近一個項目中使用了ThinkPHP做為開發(fā)框架,URL上我們使用了PATHINFO模式,但是Nginx默認(rèn)是不支持PATHINFO的,需要進(jìn)行手動配置才可以,于是我們按照了以下方法進(jìn)行了Nginx的PATHINFO支持配置:
修改nginx.conf,找到server中的 location ~ .php${},修改為location ~ .php {},并在其中增加以下內(nèi)容:
復(fù)制代碼 代碼如下:
set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
不過無論我們?nèi)绾螠y試,都發(fā)現(xiàn)PATHINFO模式總是不能正確運(yùn)行,就算運(yùn)行后,{:U}方法也總是出錯,打印$_SERVER后發(fā)現(xiàn)PHP_SELF總是不對。
但是依然PATHINFO不能正確正常工作,于是我們確定是ThinkPHP的配置問題,發(fā)現(xiàn)其實是ThinkPHP的_PHP_FILE的問題,在入口文件index.php中加入配置define('_PHP_FILE_',$_SERVER['SCRIPT_NAME']);,問題解決。
如果$_SERVER['SCRIPT_NAME'] 路徑也不對,請先替換為正確的文件路徑。
您可能感興趣的文章:
- Nginx隱藏index.php和Pathinfo模式配置例子
- nginx中配置pathinfo模式示例
- nginx支持codeigniter的pathinfo模式url重寫配置寫法示例
- nginx+thinkphp下解決不支持pathinfo模式
- Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式
- Nginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持
- nginx配置支持php的pathinfo模式配置方法
- Nginx下實現(xiàn)pathinfo及ThinkPHP的URL模式
- Nginx如何實現(xiàn)pathinfo模式的方法詳解
相關(guān)文章
詳解Nginx靜態(tài)服務(wù)配置(root和alias指令)
這篇文章主要介紹了詳解Nginx靜態(tài)服務(wù)配置(root和alias指令),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
nginx 虛擬主機(jī)設(shè)置實例(多網(wǎng)站配置)
Nginx 虛擬主機(jī)設(shè)置一例,主要是針對虛擬主機(jī)的設(shè)置,多網(wǎng)站配置方法,需要的朋友可以參考下2013-02-02

