让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) |