lnmp1.2支持ThinkPhp pathinfo及rewrite


一、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了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM