在apache对于重写的配置很简单,官方也有文档(程序下载后有txt文档)。
但是在nginx下并没有详细描述,搜索其他人的做法都有一些小许错误。
下面是我总结的:
先将php.ini中的cgi.fix_pathinfo=1的注释打开
nginx配置文件
server扩展中添加修改:
location / {
index index.php;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location ~ \.php(.*)$ {^M
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;
fastcgi_param PATH_INFO $path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $script;
}
最后重启ningx