您現在的位置是:網站首頁>PHPthinkphp在低版本Nginx下支持PATHINFO的方法
thinkphp在低版本Nginx下支持PATHINFO的方法
宸宸2024-05-04【PHP】113人已圍觀
本站精選了一篇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。)