在nginx中配置pathinfo模式支持thinkphp的URL重寫
更新時(shí)間:2014年04月18日 10:56:09 作者:
這篇文章主要介紹了在nginx中配置pathinfo模式的例子,用來支持thinkphp的URL重寫,并解決了thinkphp一個(gè)路徑問題,需要的朋友可以參考下
最近一個(gè)項(xiàng)目中使用了ThinkPHP做為開發(fā)框架,URL上我們使用了PATHINFO模式,但是Nginx默認(rèn)是不支持PATHINFO的,需要進(jìn)行手動(dòng)配置才可以,于是我們按照了以下方法進(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(cè)試,都發(fā)現(xiàn)PATHINFO模式總是不能正確運(yùn)行,就算運(yùn)行后,{:U}方法也總是出錯(cuò),打印$_SERVER后發(fā)現(xiàn)PHP_SELF總是不對(duì)。
但是依然PATHINFO不能正確正常工作,于是我們確定是ThinkPHP的配置問題,發(fā)現(xiàn)其實(shí)是ThinkPHP的_PHP_FILE的問題,在入口文件index.php中加入配置define('_PHP_FILE_',$_SERVER['SCRIPT_NAME']);,問題解決。
如果$_SERVER['SCRIPT_NAME'] 路徑也不對(duì),請(qǐng)先替換為正確的文件路徑。
您可能感興趣的文章:
- 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下實(shí)現(xiàn)pathinfo及ThinkPHP的URL模式
- Nginx如何實(shí)現(xiàn)pathinfo模式的方法詳解
相關(guān)文章
詳解Nginx靜態(tài)服務(wù)配置(root和alias指令)
這篇文章主要介紹了詳解Nginx靜態(tài)服務(wù)配置(root和alias指令),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
nginx配置同一域名同一端口下部署多個(gè)vue項(xiàng)目
本文主要介紹了nginx配置同一域名同一端口下部署多個(gè)vue項(xiàng)目,可以根據(jù)根路徑不同分別代理訪問不同項(xiàng)目,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
nginx 虛擬主機(jī)設(shè)置實(shí)例(多網(wǎng)站配置)
Nginx 虛擬主機(jī)設(shè)置一例,主要是針對(duì)虛擬主機(jī)的設(shè)置,多網(wǎng)站配置方法,需要的朋友可以參考下2013-02-02

