Mac下使用MAMP配置Nginx

之前一直是使用MAMP作為Mac開發(fā)PHP的開發(fā)環(huán)境,也是一直用的是Apache,最近想換為Nginx,但是折騰了好久!以下為踩坑記錄.如需看解決辦法,請直接滑到最下方


首先我想的是將Apache關(guān)掉,打開Nginx不就完工了

image

然后刷新網(wǎng)頁,哈哈,成功打開首頁,正當(dāng)我覺得這就完事了,點擊了一下其他鏈接
image

WTF這是什么鬼
image

經(jīng)查資料得知:原網(wǎng)站環(huán)境為wamp使用了偽靜態(tài),偽靜態(tài)規(guī)則寫在網(wǎng)站根目錄的.htaccess文件中,Apache下默認(rèn)識別此文件內(nèi)容,而Nginx服務(wù)器不識別.htaccess文件,導(dǎo)致偽靜態(tài)規(guī)則無效,自然無法解析url地址,導(dǎo)致404錯誤(文件不存在)


開始找解決辦法

然后開始搜索解決辦法,網(wǎng)上有說把.htaccess轉(zhuǎn)成Nginx規(guī)則的,我找到項目目錄下的.htaccess文件,在網(wǎng)上找了個Apache轉(zhuǎn)Nginx的網(wǎng)站,粘貼進(jìn)去獲得如下代碼

if (!-d $request_filename){
    set $rule_0 1$rule_0;
}
if (!-f $request_filename){
    set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
    setenv PATH_INFO:$1;
    rewrite ^/(.*)$ /index.php last;
}

然后開始找nginx.conf文件
網(wǎng)上有說路徑在/Applications/MAMP/conf/nginx/nginx.conf,一找,果然在這,把規(guī)則粘貼進(jìn)去,高高興興打開網(wǎng)站刷新

image

為啥還是404?????
繼續(xù)找吧!我想MAMP這么高級的集成環(huán)境,應(yīng)該不會讓用戶去目錄里找配置文件吧,在軟件中翻了一下,發(fā)現(xiàn)這有倆框
image

粘貼規(guī)則進(jìn)去,刷新,還是404
因為我使用的是TP5框架,索性去官網(wǎng)找找,在官網(wǎng)中找到這樣一段代碼

location / { // …..省略部分代碼
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=/$1  last;
   break;
    }
 }

image

怎么和我轉(zhuǎn)換出來的不一樣???好像發(fā)現(xiàn)了問題所在,嘩嘩的將這段代碼復(fù)制帶nginx.conf中,跑起來,尼瑪,為啥又是404
看來搜索引擎不靠譜,這次直接去了MAMP官網(wǎng),看到一段話
image

尼瑪,原來上面那個路徑根本就不對啊,網(wǎng)友坑啊
然后將TP5官網(wǎng)的規(guī)則復(fù)制進(jìn)這個目錄下的nginx.conf里面
一刷新,臥槽,還是404,為毛為毛,官網(wǎng)明明說的這個路徑啊


多次嘗試無果,靜下心來把官網(wǎng)的文檔重頭看了一遍,文檔開頭這樣寫道

image

image

image

image

然后將代碼復(fù)制到這個位置,然后重啟Nginx
image

成功了,成功了,成功了,所以啊,有時候還是要相信這些環(huán)境肯定會給你提供簡單辦法!自己非得2B一樣到處去改!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容