您現在的位置是:網站首頁>PHPthinkphp在低版本Nginx下支持PATHINFO的方法

thinkphp在低版本Nginx下支持PATHINFO的方法

宸宸2024-05-04PHP113人已圍觀

本站精選了一篇thinkphp相關的編程文章,網友印建安根據主題投稿了本篇教程內容,涉及到thinkphp、Nginx、PATHINFO、thinkphp在低版本Nginx 下支持PATHINFO的方法分享相關內容,已被998網友關注,如果對知識點想更進一步了解可以在下方電子資料中獲取。

thinkphp在低版本Nginx 下支持PATHINFO的方法分享

最近在用thinkphp做一個項目,基本完成後部署到nginx服務器上才發覺nginx是不支持pathinfo的那麽我們如何來処理呢。

Nginx環境

在Nginx低版本中,是不支持PATHINFO的,但是可以通過在Nginx.conf(在/usr/local/nginx/conf/nginx.conf或者通過find / | grep nginx.conf來查找位置)中配置轉發槼則實現:在nginx配置文件中添加:

location / { 
if (!-e $request_filename) {
   rewrite ^(.*)$ /index.php?s=$1 last;
   break;
 }
} 

其實內部是轉發到了ThinkPHP提供的兼容模式的URL,利用這種方式,可以解決其他不支持PATHINFO的WEB服務器環境。
如果你的ThinkPHP安裝在二級目錄,Nginx的偽靜態方法設置如下,其中youdomain是所在的目錄名稱。

location /youdomain/ {
 if (!-e $request_filename){
  rewrite ^/youdomain/(.*)$ /youdomain/index.php?s=$1 last;
 }
} 

如:

location /thinkphp/ {
 if (!-e $request_filename){
    rewrite ^/thinkphp/(.*)$ /thinkphp/index.php?s=$1 last;
 }
}

語法:rewrite regex replacement flag  (last     相儅於apache裡麪的[L]標記,表示rewrite。)

我的名片

網名:星辰

職業:程式師

現居:河北省-衡水市

Email:[email protected]