WP搬家后首页正常,其他页面404报错

很不幸,webweb的服务器宕机之后,最新的网站备份找不回来了。匆匆忙忙新购了阿里云的服务器,把WP部署之后,折腾了一番,好不容易让首页能够正常识别访问了。

但是首页之外的所有页面均出现了404报错,一时间忙得也没有时间仔细研究。今天终于得空百度到了这个问题的解决方案,幸运的是除了登录管理后台的方法折腾了一圈。(后台登录时遇到cookies报错无法登录,解决方法见“【解决方法】Cookies因预料之外的输出被阻止。要获取帮助,请参见此文档或访问支持论坛”)

处理404报错的问题,很幸运的用第一种处理方法即解决了。

这里把百度来的方法记下,以便后期若再次遇到时能够直接处理。

1、想办法登录后台,刷新一次“设置”中的“固定链接”。
比如换成默认后保存,再设回原先设置并保存,理论上就可以解决绝大多数人的问题了。

2、检查 Apache 的 rewrite mod 是否开启。
LoadModule rewrite_module modules/mod_rewrite.so

3、检查 Apache 的对应目录 Allowoverride 是否设为 All。
(这次就在这里栽跟头了,子目录覆盖了主目录设置)
<Directory “/var/www/html/test”>
AllowOverride All
</Directory>

4、检查 WordPress 主目录下是否有正确设置的 .htaccess 文件。(重点检查!)
默认设置如下,特别注意迁移后可能的目录更改。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
如果网页服务器不是 Apache,而是 Nginx。
则需要在网站设置中增加以下代码。
location / {
try_files $uri $uri/ /index.php?$args;
}

5、检查 WordPress 整个目录是否为 755 权限(文件 644 权限)。
(Window 系统下大概不用管后两条)
find /path/to/wordpress/ -type d -exec chmod 755 {} \;
修改所有者为 apache 以应对缓存/上传/更新等问题。
用户名因人而异,还可能是 www/daemon 等。
(还要注意检查后台“多媒体-默认上传路径”)

6、如果配置的是虚拟主机那么记得在配置文件中加入开启伪静态的功能
<VirtualHost *:80>
DocumentRoot D:/www
ServerName localhost

RewriteEngine on
#规则放在下面即可

</VirtualHost>

可以对每个虚拟主机做单独的URL Rewrite

方法出处:https://www.cnblogs.com/kenshinobiy/p/6723030.html

发表评论

您的电子邮箱地址不会被公开。