让Nginx/tengine支持ThinkPHP/phpmvc框架/iwebshop的URL重写和PA
时间:2014-11-22 00:41 来源:linux.it.net.cn 作者:IT
让Nginx/tengine支持ThinkPHP/phpmvc框架/iwebshop的URL重写和PATHINFO
最近帮一个客户迁移网站
原始环境
windows 2003 + apache
迁移至
centos5.8+tengine
发现iwebshop的伪静态真心的难对付
研究了好久 直接贴出代码
location / {
index index.php;
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_pass 127.0.0.1:9000;
fastcgi_index index.php?IF_REWRITE=1;
include fastcgi_params.conf;
fastcgi_param PATH_INFO $path_info;
fastcgi_param SCRIPT_FILENAME $document_root/$script;
fastcgi_param SCRIPT_NAME $script;
}
还有一个地方需要注意的是,Nginx配置文件里 if 和后面的括号之间要有一个空格,不然会报unknown directive错误。
(责任编辑:IT)
让Nginx/tengine支持ThinkPHP/phpmvc框架/iwebshop的URL重写和PATHINFO 最近帮一个客户迁移网站 原始环境 windows 2003 + apache 迁移至 centos5.8+tengine 发现iwebshop的伪静态真心的难对付 研究了好久 直接贴出代码 location / { index index.php; 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_pass 127.0.0.1:9000; fastcgi_index index.php?IF_REWRITE=1; include fastcgi_params.conf; fastcgi_param PATH_INFO $path_info; fastcgi_param SCRIPT_FILENAME $document_root/$script; fastcgi_param SCRIPT_NAME $script; } 还有一个地方需要注意的是,Nginx配置文件里 if 和后面的括号之间要有一个空格,不然会报unknown directive错误。 (责任编辑:IT) |