首页 > Web开发 > 详细

如何使Nginx支持ThinkPHP框架

时间:2014-01-22 09:27:49      阅读:451      评论:0      收藏:0      [点我收藏+]

最近在将公司的一台的服务器从Apache迁移到Nginx的时候出了点问题,特做个笔记。 问题出在上面的一个网站是基于ThinkPHP框架开发的,用默认的方法配置不行。在网上baidu之后发现这个问题很普遍,通用解决方法的配置如下: server { ... if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; }

}

location ~ .+\.php($|/) { .... set $script $uri; set $path_info "/"; if ($uri ~ "^(.+\.php)(/.*)") { set $script $1; set $path_info $2; }

fastcgi_param PATH_INFO $path_info; fastcgi_param SCRIPT_FILENAME /path/to/web-root$script;

}

昨天在看书的时候突然发现,原来fastcgi模块自带了一个指令专门用来解决此类问题的,该指令是fastcgi_split_path_info ,该指令会根据给定的正则表达式来分隔URL,从而提取出脚本名和path info信息,使用这个指令可以避免使用if语句,配置更简单。(server部分的if语句可以用try_files来代替),新的配置如下: server { ... try_files $uri /index.php$uri; }

location ~ .+\.php($|/) { .... fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME /path/to/web-root$fastcgi_script_name;

}

如何使Nginx支持ThinkPHP框架

原文:http://www.cnblogs.com/517danji/p/3529185.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!