解决Nginx下WordPress后台404的问题

王朝学院·作者佚名  2016-08-22
窄屏简体版  字體: 小  |  中  |  大  |  超大  

自从换了VPS之后好久也没上博客了,谁知道今天一上就出问题了,点背啊。

问题是这样的:我习惯在博客地址后面直接加"wp-admin"敲回车进入WordPRess后台,但是进去以后发现不管我点任何一个管理子项,一律404(找不到页面),瞬间我就囧了,这是神马状况。。。

仔细看了一下管理子项的链接,发现他们全是类似"http://www.slyar.com/blog/edit.php"这样的,关键就在于他们都少了"/wp-admin/"这条路径,路径都不对了,肯定404呗。。。

知道问题在哪就简单了,而且答案肯定还是在Nginx的重定向规则上,但是我不知道怎么改,但是我还知道WordPress官方肯定已经解决了,所以我还是很淡定地去查文档了。。。got it

http://codex.wordpress.org/Nginx

# Add trailing slash to */wp-admin requests.

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

果然给我在codex上找到了解决方案,就是简单地加一行斜杠重定向而已,方法综述如下:

1、登录shell,vim编辑Nginx配置目录(一般是在/usr/local/nginx/conf/)下的"wordpress.conf",当然如果你像我一样用的是自己写的conf文件,那就改对应的那个重定向配置文件就好。

vim/usr/local/nginx/conf/wordpress.conf

2、把官方给的那一行加到文件最后面就行了

location/blog/{if($host!='www.slyar.com'){rewrite^/(.*)$ http://www.slyar.com/$1permanent;}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.其实你要是懒的话,直接用 "echo >>" 追加就行了= =

echo'rewrite /wp-admin$ $scheme://$host$uri/ permanent;'>>/usr/local/nginx/conf/wordpress.conf

原文地址:http://www.slyar.com/blog/nginx-wordpress-wp-admin-slash-rewrite.html

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航