前段時(shí)間給客戶寫了個(gè)TP5框架的后臺(tái),主要是API調(diào)用灿里,上傳到客戶服務(wù)器后發(fā)現(xiàn)首頁可用,但所有內(nèi)頁報(bào)404錯(cuò)誤程腹,網(wǎng)上一搜發(fā)現(xiàn)天多一樣的問題匣吊,但找了很多都是不可用的,而且都是過時(shí)的,但最終還是自己試出來了色鸳,今天貼下社痛,親測(cè)可用。
寶塔面板windows-5.4.0+Nginx-1.12配置(Linux請(qǐng)使用寶塔面板命雀,可以直接打開配置文件蒜哀,然后根據(jù)這個(gè)修改,一樣的)
請(qǐng)完全按此順序執(zhí)行咏雌,不然我也不清楚有沒有其他問題
1凡怎、通過寶塔線安裝好Nginx與其它環(huán)境
2、通過寶塔面板 添加 網(wǎng)站 (這一步很重要赊抖,寶塔會(huì)自動(dòng)配置一些文件统倒,可以省去很多事情)
3、打開寶塔目錄應(yīng)該是(我的寶塔是裝個(gè)在D盤氛雪,路徑如下D:\BtSoft\WebSoft\nginx\conf\vhost) 注意紅色部分房匆,是conf\vhost目錄下
4、打開找到對(duì)應(yīng)的域名.conf文件报亩,比如:你的網(wǎng)站域名是www.xxx.com浴鸿,那么vhost目錄下就會(huì)有一個(gè)www.xxx.com.conf文件,用記事本以外的軟件打開編輯弦追,你會(huì)看到如下的代碼(軟件自動(dòng)生成的)
#START-SITE
server {
listen 80;
server_name? www.jsq.com;
access_log? logs/www.jsq.com.access.log;
root? D:/wwwroot/www.jsq.com; #網(wǎng)站絕對(duì)路徑
index? index.php default.php index.html index.htm default.html default.htm;
include rewrite/www.jsq.com.conf;
#START-ERROR-PAGE
error_page 403 /403.html;
error_page 404 /404.html;
? ? error_page 502 /502.html;
#END-ERROR-PAGE
#301-START
#301-END
#REFERER-START
#REFERER-END
#PROXY-START
#PROXY-END
#START-SSL
#END-SSL
#START-PHP
location ~ \.php$ {
root? D:/wwwroot/www.jsq.com;
fastcgi_pass? 127.0.0.1:4554;#后面4554 為默認(rèn)端口請(qǐng)勿修改
fastcgi_index? index.php;
fastcgi_param? SCRIPT_FILENAME? $document_root$fastcgi_script_name;
include? ? ? ? fastcgi_params;
? ? }
#END-PHP
}
#END-SITE
5岳链、修改配置文件如下,紅色部分是修改后的劲件,切勿直接復(fù)制 代碼增加不了顏色掸哑,看中文注釋
#START-SITE
server {
listen 80;
server_name? www.jqqq.com;
access_log? logs/www.jqqq.com.access.log;
root? E:/wwwroot/www.jqtest.com/public;
index? index.php default.php index.html index.htm default.html default.htm;
#include rewrite/www.jqqq.com.conf; #注釋該行,無需引用
location / { #第一部分 起始
? ? try_files $uri $uri/ /index.php$uri;
? ? ? ? ? #下面這兩個(gè)if是為了能獲取$_GET參數(shù)零远,不加則無法獲取
? ? if ( -f $request_filename) {?
? ? ? ? ? ? break;?
? ? ? ? }?
? ? ? ? if ( !-e $request_filename) {?
? ? ? ? ? ? rewrite ^(.*)$ /index.php/$1 last;?
? ? ? ? ? ? break;?
? ? ? ? }?
} #第一部分 結(jié)束
#START-ERROR-PAGE
error_page 403 /403.html;
error_page 404 /404.html;
? ? error_page 502 /502.html;
#END-ERROR-PAGE
#301-START
#301-END
#REFERER-START
#REFERER-END
#PROXY-START
#PROXY-END
#START-SSL
#END-SSL
location ~ /\.ht { #第二部分 起始
deny all;
} #第二部 結(jié)束
#START-PHP
location ~* \.php(.*)$ {
root? E:/wwwroot/www.jqtest.com/public;
fastcgi_pass? 127.0.0.1:4554;
fastcgi_index? index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;? #第三部分? 起始
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
? ? fastcgi_param PATH_INFO $fastcgi_path_info;? #第三部分 結(jié)束
fastcgi_param? SCRIPT_FILENAME? $document_root$fastcgi_script_name;
include? ? ? ? fastcgi_params;
? ? }
#END-PHP
}
#END-SITE
6苗分、重啟Nginx 然后看看網(wǎng)站是否已經(jīng)可以使用路由了,并且$_GET參數(shù)也可以正常使用牵辣。
注意:如果你的配置文件摔癣,跟我的不一樣,那可能是版本問題纬向,但大體相同择浊,可以自行修改。
————————————————
版權(quán)聲明:本文為CSDN博主「一個(gè)點(diǎn)」的原創(chuàng)文章逾条,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議琢岩,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_41000837/article/details/80447055