欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

解决ThinkPHP在Nginx下无法使用pathin方式的问题

程序员文章站 2022-05-20 18:49:27
[环境] ubuntu 12.04 32bit amh面板 4.2 nginx 1.4.4 php 5.3.27 thinkphp 3.1.2 ---------------------...

[环境]

ubuntu 12.04 32bit

amh面板 4.2

nginx 1.4.4

php 5.3.27

thinkphp 3.1.2


--------------------------------- 不太华丽的分割线 ---------------------------------


其实就是直接写rewrite文件,具体的语法请百度之,我也不太懂,也是在网上半抄半改才勉强搞定的,rewrite内容在下面放出:

备注:我是直接在amh上配置nginx虚拟主机的,所以路径什么的可能会有些不同

在写rewrite之前先将原vhost下对应的网站配置中的location ~ *\.php$ {}整个注释或删除(注意备份哦!!)


location / {

index index.php;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}

location ~ .*\.php
{
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_pass unix:/tmp/php-cgi-myar.kollway.com.sock;
fastcgi_index index.php;
include fcgi-host.conf;
fastcgi_param document_root /web$subdomain;
fastcgi_param script_filename /web$real_script_name;
fastcgi_param path_info $path_info;

}


--------------------------------- 不太华丽的分割线 ---------------------------------


参考文章:

https://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/


https://blog.csdn.net/realghost/article/details/9082847