配置解決Nginx服務(wù)器中WordPress路徑不自動(dòng)加斜杠問(wèn)題
問(wèn)題是這樣的:我習(xí)慣在博客地址后面直接加"wp-admin"敲回車(chē)進(jìn)入WordPress后臺(tái),但是進(jìn)去以后發(fā)現(xiàn)不管我點(diǎn)任何一個(gè)管理子項(xiàng),一律404(找不到頁(yè)面),瞬間我就囧了,這是神馬狀況。。。
仔細(xì)看了一下管理子項(xiàng)的鏈接,發(fā)現(xiàn)他們?nèi)穷?lèi)似"http://chabaoo.cn/blog/edit.php"這樣的,關(guān)鍵就在于他們都少了"/wp-admin/"這條路徑,路徑都不對(duì)了,肯定404唄。。。
知道問(wèn)題在哪就簡(jiǎn)單了,而且答案肯定還是在Nginx的重定向規(guī)則上,但是我不知道怎么改,但是我還知道WordPress官方肯定已經(jīng)解決了,所以我還是很淡定地去查文檔了。。。got it
http://codex.wordpress.org/Nginx
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
果然給我在codex上找到了解決方案,就是簡(jiǎn)單地加一行斜杠重定向而已,方法綜述如下:
1、登錄shell,vim編輯Nginx配置目錄(一般是在/usr/local/nginx/conf/)下的"wordpress.conf",當(dāng)然如果你像我一樣用的是自己寫(xiě)的conf文件,那就改對(duì)應(yīng)的那個(gè)重定向配置文件就好。
vim /usr/local/nginx/conf/wordpress.conf
2、把官方給的那一行加到文件最后面就行了
location /blog/ { if ($host != 'chabaoo.cn' ) { rewrite ^/(.*)$ //chabaoo.cn/$1 permanent; } if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /blog/index.php; } } rewrite /wp-admin$ $scheme://$host$uri/ permanent;
3、:wq保存重啟nginx即可
其實(shí)你要是懶的話,直接用 "echo >>" 追加就行了= =
PS:據(jù)說(shuō) nginx不會(huì)自動(dòng)在請(qǐng)求的最后加上一個(gè)斜線,不會(huì)自動(dòng)判斷請(qǐng)求的是一個(gè)文件還是一個(gè)目錄。網(wǎng)上搜索 nginx 斜線,都會(huì)提到需要在請(qǐng)求的最后加上這個(gè)斜杠。
網(wǎng)上大部資料是這樣寫(xiě)的 :
在nginx\conf\vhost.conf中的 location / {}的index index.html后面加上
if (-d $request_filename) { rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent; }
但如果你的網(wǎng)址后面帶了端口的話,那么轉(zhuǎn)向時(shí)還是會(huì)出現(xiàn)403錯(cuò)誤。
即 $host 變量把端口弄沒(méi)了,改成 $http_host 變量即可
改成如下寫(xiě)法即解決了所有問(wèn)題
if (-d $request_filename) { rewrite ^/(.*)([^/])$ http://$http_host/$1$2/ permanent; }
相關(guān)文章
使用Lvs+Nginx集群搭建高并發(fā)架構(gòu)的實(shí)現(xiàn)示例
本文主要介紹了使用Lvs+Nginx集群搭建高并發(fā)架構(gòu)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12Nginx暴露出請(qǐng)求的真實(shí)IP的問(wèn)題
在工作中,經(jīng)常會(huì)用用戶實(shí)際請(qǐng)求的IP地址,本文主要介紹了Nginx暴露出請(qǐng)求的真實(shí)IP的問(wèn)題,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10nginx使用sticky基于cookie的會(huì)話保持方式
這篇文章主要介紹了nginx使用sticky基于cookie的會(huì)話保持方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12upstream模塊中常用options選項(xiàng)講解
這篇文章主要為大家介紹了upstream模塊中常用options選項(xiàng)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07如何實(shí)現(xiàn)Nginx同一端口同時(shí)支持http與https協(xié)議
最近有一個(gè)需求,需要讓一個(gè)端口的http服務(wù)支持https訪問(wèn),本文就來(lái)介紹一下如何實(shí)現(xiàn)Nginx同一端口同時(shí)支持http與https協(xié)議,感興趣的可以了解一下2023-11-11使用Nginx實(shí)現(xiàn)301跳轉(zhuǎn)至https的根域名示例代碼
這篇文章主要介紹了使用Nginx實(shí)現(xiàn)301跳轉(zhuǎn)至https的根域名,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04