解决 WP迁移后出现的404错误

项目迁移 WordPress 后仅首页正常,其它页面全部 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 {} \;
find /path/to/wordpress/ -type f -exec chmod 644 {} \;
chown -R apache:apache /path/to/wordpress/

修改所有者为 apache 以应对缓存/上传/更新等问题。
用户名因人而异,还可能是 www/daemon 等。
(还要注意检查后台“多媒体-默认上传路径”)

6、如果配置的是虚拟主机那么记得在配置文件中加入开启伪静态的功能

<VirtualHost *:80>DocumentRoot D:/wwwServerName localhost

RewriteEngine on#规则放在下面即可

</VirtualHost>

可以对每个虚拟主机做单独的URL Rewrite
时间: 2024-08-30 01:31:59

解决 WP迁移后出现的404错误的相关文章

杂了个谈(三)——解决CentOS下yum命令报404错误的问题

最近在CentOS 6.6 x64操作系统下使用yum时会报如图-1所示的404错误: 图-1 yum命令报错信息 由于错误类型是404,首先想到的是是不是外网上不去了,结果能ping通,试了一下其他虚拟机,yum并没有出现同样的问题,而出错的虚拟机上也并没有印象对yum的配置等做过修改.无奈之下在网上搜了一下,发现下面这种方法可以解决问题: [[email protected] ~]# yum clean all [[email protected] ~]# rpm --rebuilddb [

wordpress修改固定链接及修改链接后链接提示404错误的解决办法

wordpress默认的url实在是不好看又不好记忆,而且还不利于SEO.因此,我就捣鼓着把url做一个自定义.自定义的方式如下: 建议使用/%postname%的形式,这样利于SEO. 修改之后,localhost/wordpress一下,点击导航.点击文章标题.咦,怎么就404了?明明修改之前是可以正常访问的! 郁闷之下,我各种在仪表盘中修改,各种度娘.好像没发现解决方案.知道后来,看到这么篇文章http://blog.csdn.net/think2me/article/details/70

wordpress设置“固定链接”后,页面404错误的解决方法

Nginx 解决方案: 网上盛传的方法是: 在 /etc/nginx/nginx.conf文件的 loction / {} 中添加 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 (.*) /in

myeclicps开发web时候复制一个工程改名字后执行出现404错误

当部署的时候会出现如下的警告,此时请按照如下的方法解决: 1.选择要运行的工程,右击-->properties-->在上边的搜索框中搜索web,选中web,将Web Context-root中的值改为修改后的名字.

springboot打war包后部署到tomcat后访问返回404错误

1.正常情况下,修改打包方式为war <packaging>war</packaging> 2.启动类继承SpringBootServletInitializer,重写configure方法 @SpringBootApplicationpublic class SmallProgramApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder conf

解决wordpress修改固定链接后出现404错误不能访问文章的方法

首先,建议大家安装完wordpress网站程序之后第一时间设置一下固定链接,避免以后修改出错.在wp后台仪表盘左侧导航里找到“设置——固定链接”即可配置你的wordpress固定链接,通常我习惯使用的有两种: /%postname%.html 和 /%post_id%.html 当然你如果不想修改,使用wp默认的链接方式也是可以的,只是感觉不太美观而已.下面主要说一下建站之后,wordpress修改固定链接出现404错误不能访问文章的解决步骤.出现这个错误应该是伪静态功能的问题,那么来看一下我怎

解决使用angular2路由后,页面刷新后报404错误。

点击路由链接跳转页面是正常的,但是当刷新页面时就出现了404错误. 解决方法如下: 在app.module.ts中添加import: import {HashLocationStrategy,LocationStrategy} from '@angular/common'; 并在 providers下添加所引入的服务: providers: [{provide: LocationStrategy,useClass: HashLocationStrategy}] 备注:出现问题的原因:刷新页面时寻

IntelliJ IDEA 文件夹重命名--解决重命名后js文件引用找不到路径报404错误

情景: 说明:ExtJS是我后来的改的名字--原来叫extjs,可是当我把在页面的引用地址改为 src="ExtJS/.."后页面就报404错误,我把它改回之前的extjs就可以(像上面的一样),这个小问题真心烦,百度也没有. 后来 我又改个名字,这时候留意了: 上面红框的选项勾选就可以了.

本地发布无异常,服务器发布后显示404错误的解决方案

关于程序源码,.Net版本,程序集,等全部文件一样,在本地发布没有问题,在服务器上面重写页面却出现了404错误的问题的解决方案. 出现问题的时间:20140919,解决问题的时间,20140920,问题出现的效果如下 本地发布后点击搜索: 服务器发布后点击搜索 这就奇怪了,明明是两个同样源码,同样配置文件,同样数据库的,本地不出现问题,服务器出现问题. 解决方法如下: 第一,检测iis有没有权限访问此文件夹下面的url重写的地址.(返回:添加了net work service 这个账户的权限,使