将站点从服务器移动到另一个后,WordPress 重定向给出 404
WordPress redirection gives 404 after moving site from a server to another
将我的 WordPress 网站从我的旧托管服务提供商迁移到我的新托管服务提供商后 VPS 认为我的网站工作正常,但它给出了 404 not found everywhere
这是一个重定向问题,因为主页工作正常。
我的重写mod已激活,.htaccess
是默认的WordPress之一,
为了迁移网站,我是这样进行的:
- 我复制了右边虚拟主机文件夹中的旧文件
- 我为新服务器创建了一个mysql用户名和数据库
- 我用新参数更新 wp-config.php 文件。
- 我将旧数据库导入到新的空数据库
我从 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
将我的 WordPress 网站从我的旧托管服务提供商迁移到我的新托管服务提供商后 VPS 认为我的网站工作正常,但它给出了 404 not found everywhere 这是一个重定向问题,因为主页工作正常。
我的重写mod已激活,.htaccess
是默认的WordPress之一,
为了迁移网站,我是这样进行的:
- 我复制了右边虚拟主机文件夹中的旧文件
- 我为新服务器创建了一个mysql用户名和数据库
- 我用新参数更新 wp-config.php 文件。
- 我将旧数据库导入到新的空数据库
我从 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