问题:搭建的thinkphp网站,只有首页能显示,其余都是404错误
解决:nginx配置错误
方法:
sudo vi /etc/nginx/sites-available/default
找到下面的代码
#location ~ .php$ {
# fastcgi_split_path_info ^(.+.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# include fastcgi_params;
#}
改成
location ~ .php { # 注意:此处的‘$’要去除
fastcgi_split_path_info ^(.+.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param PATH_INFO $fastcgi_path_info; # 此句就是thinkphp的path问题解决
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 没有这句,thinkphp将显示空白页面
fastcgi_index index.php;
include fastcgi_params;
}
注意:需要修改php.ini中的cgi.fix_pathinfo为0
参考:
http://blog.csdn.net/hotlinhao/article/details/51365038