概述
在上一篇文章Nginx配置Thinkphp支持URL Rewrite中已經介紹了如何配置Nginx支持ThinkPHP的URL Rewrite,但是上文針對的是Centos平臺,這次因為某些特殊的原因,服務器環境必須用ubuntu,本來以為和Cetons中一模一樣,但是配置完了發現不能使用,所以就百度了一些文章。
配置方法
TP官方解決方案
代碼如下:
location ~ .php
{
#原有代碼
#定義變量 $path_info ,用于存放pathinfo信息
set $path_info "";
#定義變量 $real_script_name,用于存放真實地址
set $real_script_name $fastcgi_script_name;
#如果地址與引號內的正則表達式匹配
if ($fastcgi_script_name ~ "^(.+?/.php)(/.+)$") {
#將文件地址賦值給變量 $real_script_name
set $real_script_name $1;
#將文件地址后的參數賦值給變量 $path_info
set $path_info $2;
}
#配置fastcgi的一些參數
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}
這樣,nginx服務器就可以支持pathinfo了。但是如果要支持ThinkPHP的URL_MODE設置為2的模式,還需要配置rewrite規則。找到access_log語句,在其上方加上以下語句:
新聞熱點
疑難解答