最近我把Apache給換成nginx,當我把tp項目搬過去運行的時候發現404 錯誤 ,原來是因為nginx不支持 pathinfo 模式,需要自己配置
下面我配置
在server配置里面
location / {
#root html
index index.html index.htm index.php ;
if (!-e $request_filename) {
rewrite ^/test/tp/(.*)$ /test/tp/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;
fastcgi_param PATH_INFO $path_info;
fastcgi_param SCRIPT_FILENAME $document_root/$script;
fastcgi_param SCRIPT_NAME $script;
}
保存配置之后,重啟 nginx ,配置成功
直接支持類似於 /Index.html 這樣的偽靜態模式