将站点从服务器移动到另一个后,WordPress 重定向给出 404

WordPress redirection gives 404 after moving site from a server to another

将我的 WordPress 网站从我的旧托管服务提供商迁移到我的新托管服务提供商后 VPS 认为我的网站工作正常,但它给出了 404 not found everywhere 这是一个重定向问题,因为主页工作正常。

我的重写mod已激活,.htaccess是默认的WordPress之一, 为了迁移网站,我是这样进行的:

  1. 我复制了右边虚拟主机文件夹中的旧文件
  2. 我为新服务器创建了一个mysql用户名和数据库
  3. 我用新参数更新 wp-config.php 文件。
  4. 我将旧数据库导入到新的空数据库

我从 WordPress 官方文档中复制了这个,它在其他网站上运行良好,但现在不起作用。

已尝试 google 这个问题,但我还没有找到解决方案。

这是我的 .htaccess 文件(标准 wordpress):

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

AddHandler x-mapp-php5.5  .php

# BEGIN WordPress

# END WordPress

解决方法很简单,但可能由多种因素引起

1) 您必须检查您的 apache mod_rewrite 是否已启用

2) 检查 Allowoverride 是否设置为 All

3) 检查您是否有 .htaccess 文件

4) 检查 Wordpress 是否有写入权限 (chmod 666 .htaccess)

对于 %postname% 永久链接,请检查您是否有与此类似的 .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>

AddHandler x-mapp-php5.5  .php

# 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

对于我的情况,我忘记以正确的方式设置 Allowoverride