真是折腾的一下午。
今天我管理的一个Wordpress网站后台突然上不去,表现为通过https://yourdomain/wp-admin/或者https://yourdomain/wp-admin/index.php 这样的网址访问跳转到https://yourdomain/wp-login.php?redirect_to=https%3A%2F%2Fyourdomain%2Fwp-admin%2Findex.php&reauth=1 显示Page Not Found,同时直接访问https://yourdomain/wp-login.php直接登录无限重定向,并且控制台显示302。
遇到问题,第一反应是wp-admin/目录下的.htaccess文件中的ip限制,打开后文件内容是这样的:
PS:代码中的xxx.xxx.指的是你当前的ip段,例如:192.168.
查看自己的ip后,确认自己的ip在允许访问的名单里。然后尝试删除(改名)这个文件,无用。
接下来分别尝试了如下方式:
重命名plugins文件夹(确定是否是插件造成的)
修改wp-config.php文件(确定是否是由于全站启用SSL造成的)
修改主题中的functions.php(确定是否是主题出问题)
清除浏览器Cookie
更改数据库中的一些配置项
……
这些方法在谷歌里都很容易找到,而且相关的办法能搜的都搜了并且都尝试,但是都不适用于我这次的情况,于是我想了下不如从服务器日志中找点线索。
打开服务器日志,发现了如下报错:
看了看错误:AH01797: client denied by server configuration,应该就是Apache配置的错误,但此时,我的wp-admin/目录下是不存在.htaccess文件的,而且wp-login.php存在于根目录,那么问题就一定是在根目录下的.htaccess文件中,打开这个文件:
很标准的Wordpress 默认.htaccess文件,不存在语法上的问题,那问题是提示的是这个文件被denied,问题一定在这里。那结合wp-admin/目录下的.htaccess文件的写法,让Apache允许这个wp-login.php文件就OJBK了啊,所以琢磨搜索了下.htaccess文件的语法,把根目录下的.htaccess文件改写为:
PS:代码中的xxx.xxx.指的是你当前的ip段,例如:192.168.
然后,再次打开登录页面,我滴妈也,好了也。能够成功打开登录界面,登录成功进入后台该更新更新,该审核审核。
通过这件事儿,个人学到的可能是一个小的方法和以后遇到这样未知的bug可以看看服务器日志,这里往往能给你一些解决问题的突破口。
还有,能用谷歌就别用百度,谷歌的搜索效率真的高出百度不少。
希望本文对你有所帮助~
领取专属 10元无门槛券
私享最新 技术干货