nginx+thinkphp下解決不支持pathinfo模式
nginx環(huán)境問題弄了兩天,發(fā)現(xiàn)網(wǎng)上很多人的帖子要么復(fù)制粘貼,要么就是沒有結(jié)貼,還自己寫一句“哈哈,我自己解決了”之類的,這點我就鄙視這些發(fā)帖的同胞了,你說你問題問了,問題解決了也不給個解釋。還在搜索的前幾頁,想沒想過需要答案的人的感受呢。滿心歡喜的去看答案,發(fā)現(xiàn)沒有結(jié)貼。好吧,不多說,進(jìn)入正題。
我這種方式是不需要將URL_Model改為rewrite/兼容的:
大約第43行,按照下面的對照自己的code進(jìn)行修改,請注意細(xì)節(jié)的符號:
location / { root C:/Zend/workspaces; #//這是你自己項目的根目錄。 index index.html index.htm index.php; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 break; break; } }
在php的配置中,將location ~ \.php$ 改為 location ~ \.php,再次強(qiáng)調(diào),注意細(xì)節(jié),這里去掉了$符號,我剛開始也是因為這個原因一直沒能解決。
location ~ \.php { root C:/Zend/workspaces; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME C:/wnmp/php$fastcgi_script_name; include fastcgi_params; 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; }
如果仍未解決,在ThinkPHP入口文件index.php中加入配置define(‘_PHP_FILE_',$_SERVER['SCRIPT_NAME']);
期間大家可能會遇到500,404的問題,但記住一點,細(xì)心就行。只要按照我這個改,基本沒什么問題。如果還有問題,歡迎留言咨詢。
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
深入講解PHP的對象注入(Object Injection)
這篇文章主要介紹了PHP中對象注入的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03php中g(shù)etservbyport與getservbyname函數(shù)用法實例
這篇文章主要介紹了php中g(shù)etservbyport與getservbyname函數(shù)用法,以實例形式分析了getservbyport與getservbyname函數(shù)獲取server端的端口等信息的方法,需要的朋友可以參考下2014-11-11PHP字符轉(zhuǎn)義相關(guān)函數(shù)小結(jié)(php下的轉(zhuǎn)義字符串)
PHP字符轉(zhuǎn)義相關(guān)函數(shù)小結(jié),有時候為了安全起見,我們需要對用戶輸入的字符串進(jìn)行轉(zhuǎn)義2007-04-04