這兩天幫朋友改動thinkphp項目
剛開始配置項目,發現thinkphp總是走默認的模塊默認的文件默認的方法,不管url怎么修改都不行,都是訪問默認的,一開始我以為是代碼寫錯了,跟了無數個斷點后發現不是代碼的問題,是thinkphp的url訪問問題?http://localhost:9999/index.php?c=Read&a=index?這樣的URL是能正常訪問我自己的控制器和操作的,那問題就在于我的thinkphp不支持PATHINFO方式了!
thinkphp3.2.3開發手冊、再看3.2的開發手冊,原來是低版本的nginx不支持
解決直接貼代碼:
#去掉$是為了不匹配行末,即可以匹配.php/,以實現pathinfo
thinkphp與php的區別,location ~ .*\.php
{
try_files $uri =404;
html調用php文件?fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
python和php哪個好。set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
laravel thinkphp,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;
}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态