自從換了VPS之后好久也沒(méi)上博客了,誰(shuí)知道今天一上就出問(wèn)題了,點(diǎn)背啊。
問(wèn)題是這樣的:我習(xí)慣在博客地址后面直接加"wp-admin"敲回車進(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)穷愃?http://www.slyar.com/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)然如果你像我一樣用的是自己寫的conf文件,那就改對(duì)應(yīng)的那個(gè)重定向配置文件就好。
vim /usr/local/nginx/conf/wordpress.conf
2、把官方給的那一行加到文件最后面就行了
location /blog/ {
if ($host != 'www.slyar.com' ) {
rewrite ^/(.*)$ http://www.slyar.com/$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即可
etc/init.d/nginx restart
Ps.其實(shí)你要是懶的話,直接用 "echo >>" 追加就行了= =
echo 'rewrite /wp-admin$ $scheme://$host$uri/ permanent;' >> /usr/local/nginx/conf/wordpress.conf
更多信息請(qǐng)查看IT技術(shù)專欄