1. 程式人生 > >使用寶塔在Nginx下配置thinkphp5

使用寶塔在Nginx下配置thinkphp5

使用寶塔在Nginx下配置thinkphp5

ThinkPHP5是一款十分流行的PHP框架,很多公司都基於TP開發。但是由於Pathinfo()的設定,使得TP5的框架在Nginx下會報404錯誤。如果你配置在根目錄下,則是502,如果你配置在Public下,則是隻有首頁能顯示,其他頁面全都是404。

這裡,需要調整一下Nginx的conf規則,需要注意的是,調整的是Nginx對於這個網站的規則,而不是調整整個的規則。比如網站目錄是abc,域名是abc.com,則調整該網站對應的conf檔案。有的是面板上自帶的網站檔案配置,無自帶的話需要自己手動調整。

寶塔面板,調整方式如下:

開啟網站列表,點選“設定”。彈出配置視窗,點選“網站目錄”。

這裡,寶塔提供了ThinkPHP5的標準指向配置。但是僅僅調整這個是不好用的。
在這裡插入圖片描述

接下來,開啟該網站的“配置檔案”,新增一段程式碼(下面會有描述),即可使用。

在這裡插入圖片描述

程式碼調整方式如下:藍色背景部分是新增的程式碼。其中,“/www/wwwroot/test/public;”是網站所在路徑的public目錄(即TP5的指向目錄)。藍色部分修改了rewrite規則,隨後整個網站就可以恢復正常了。

注意紅色部分,是你的域名,所以,你不要全部複製,只需要加入藍色背景部分即可。

server
{
listen 80;
server_name

domain.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/public;

#SSL-START SSL相關配置,請勿刪除或修改下一行帶註釋的404規則
#error_page 404/404.html;
#SSL-END

#ERROR-PAGE-START 錯誤頁配置,可以註釋、刪除或修改
error_page 404 /404.html;
error_page 502 /502.html;
#ERROR-PAGE-END

#PHP-INFO-START PHP引用配置,可以註釋或修改
include enable-php-55.conf;
#PHP-INFO-END

#REWRITE-START URL重寫規則引用,修改後將導致面板設定的偽靜態規則失效
include /www/server/panel/vhost/domin.conf
#REWRITE-END

#禁止訪問的檔案或目錄
location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md)
{
return 404;
}

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
access_log off;
}

location / {
if (!-e KaTeX parse error: Expected '}', got 'EOF' at end of input: …{ rewrite ^(.*) /index.php?s=$1 last;
break;
}
}

location ~ .*.(js|css)?$
{
expires 12h;
access_log off;
}
access_log /www/wwwlogs/domain.log;
error_log /www/wwwlogs/domain.error.log;
}