Nginx服務器默認不支持pathinfo, 在需要pathinfo支持的程序中(如thinkphp),則無法支持”/index.php/Home/Index/index”這種網址.
網上流傳的解決辦法很多,這里提供一種比較簡潔的寫法(只需要改動2行代碼)
典型配置
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT$fastcgi_script_name;
include fastcgi_params;
}
修改第6行,支持pathinfo
location ~ \.php(.*)$ { # 正則匹配.php后的pathinfo部分
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT$fastcgi_script_name;
fastcgi_param PATH_INFO $1; # 把pathinfo部分賦給PATH_INFO變量
include fastcgi_params;
}