nginx+thinkphp下解决不支持pathinfo模式以及存在的各种404,500问题,nginxpathinfo
nginx环境问题弄了两天,发现网上很多人的帖子要么复制粘贴,要么就是没有结贴,还自己写一句“哈哈,我自己解决了”之类的,这点我就鄙视这些发帖的同胞了,你说你问题问了,问题解决了也不给个解释。还在搜索的前几页,想没想过需要答案的人的感受呢。满心欢喜的去看答案,发现没有结贴。好吧,不多说,进入正题。
我这种方式是不需要将URL_Model改为rewrite/兼容的:
大约第43行,按照下面的对照自己的code进行修改,请注意细节的符号:
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,再次强调,注意细节,这里去掉了$符号,我刚开始也是因为这个原因一直没能解决。
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的问题,但记住一点,细心就行。只要按照我这个改,基本没什么问题。如果还有问题,欢迎留言咨询。
解决方法来源参考:http://www.codesth.com/%E4%B8%8D%E7%94%A8rewrite%E5%85%BC%E5%AE%B9%EF%BC%8C%E8%A7%A3%E5%86%B3nginx%E4%B8%8D%E6%94%AF%E6%8C%81thinkphp-pathinfo%E6%A8%A1%E5%BC%8F/

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。