一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

wordpress后台访问时没有wp-admin报404错误原因分析

时间:2016-04-11 编辑:简简单单 来源:一聚教程网

前几天不知道对wordpress所在的服务器做什么操作了今天更新时后台所有的菜单都出现了404错误。本来以为是服务器上丢失了文件导致的。但是我登录上服务器查看所有的后台文件都在呢。多点了几个链接发现URL里没有自动添加上wp-admin这一级目录,所以报404错误。

回想以下好像是我改了head的base,但是在代码里找了找没发现哪和之前不一样。和另一个wordpess的站的后台head对比了一下也没发现问题。

1. 检查网站 .htaccess 文件

登陆FTP找到根目录下的.htaccess文件,看看有没有发现多余的代码,禁用了特定区域的代码,如果有多余代码,删除即可,常规的wp模板自带的.htaccess文件只包含以下代码:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

wordpress安装目录的文件权限问题

如果检查插件还不能解决问题,那么接着去查看安装目录的权限问题,具体步骤如下:

1)登陆FTP转到/public_html/wp-admin

2) 右键点击 wp-admin 文件夹编辑文件属性 File Attributes

3) 将文件夹权限改为 755 同时应用到所有子目录。

4) 点击 Ok。同时也像上面一样设置 wp-content 和 wp-includes 文件夹。

5) 清除浏览器cookie等缓存。

 

这就怪了,在网上查了查问题很多说是nginx软件url重写问题导致。所以就多测试了几下,果然最后改好了。

修改方法是改了一下rewrite规则。把之前的规则去掉,nginx下wordpress的rewrite规则修改成:


location / {
        index index.html index.php;
        if (-f $request_filename) {
                  break;
        }
        if (!-e $request_filename) {
                  rewrite . /index.php  last;
        }
}

不知道是因为我改了head还是因为服务器环境问题导致这个问题,反正这个办法解决了问题。这个rewrite规则应该是最通用的了。果断收藏并分享。

热门栏目