一、pathinfo支持方法
1.2版本系統已經自動生成了一個pathinfo的配置文件,但實測不可用,所以我們先找打這個文件並修改其內容,文件路徑為:/usr/local/nginx/pathinfo.conf,將內容修改如下:
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;
然后找到自己要支持pathinfo網站的配置文件,文件路徑為:/user/local/nginx/vhost/**.conf,在文件中找到“#include pathinfo.conf;”這一行,將#去掉。
重啟 nginx,命令為:/etc/init.d/nginx restart,重啟成功之后即可使用pathinfo方式訪問網站。
二、添加rewrite支持方法
找到要支持網站的配置文件,文件路徑為:/user/local/nginx/vhost/**.conf,如果在創建主機時已經設置過重寫配置文件,則直接修改之前選擇的配置文件,沒有的話,可以新建一個other.conf重寫配置文件,以后其他網站也可直接使用。
在配置文件中找到"root /home/wwwroot/你的網站根目錄",這一句代碼,然后在下面加一句“include other.conf;”。
返回nginx的配置目錄“/usr/local/nginx/conf/”,如果這里已經存在other.conf則直接覆蓋里面的內容,不存在則新建。
other.conf中的內容如下:
location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php/$1; } }
重啟nginx,"/etc/init.d/nginx restart",重新訪問網站就可以省略index.php了。