将WordPress移动到不同的URL/服务器会产生重定向循环

时间:2022-02-22 作者:Petri Muinonen

我正在尝试将我的wordpress站点移动到不同的服务器和url。我似乎有一个持久的重定向循环问题。我认为这不是缓存、cookie或插件问题,我怀疑中的设置不正确/缺失。htaccess文件可能是罪魁祸首。我正在移动的服务器使用nginx web服务器,没有。htaccess文件。我正在尝试迁移到的托管提供商使用apache2,并且有以下内容。html文件夹中的htaccess文件:

RewriteEngine On
 
RewriteCond %{HTTPS} off
 
RewriteCond %{HTTP:X-LB-Forwarded-Proto} !https 
 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

AddHandler application/x-httpd-php73 .php
有人能解释一下吗。htaccess文件导致重定向循环和/或中应包含的内容。使用wordpress时的htaccess文件?

2 个回复
SO网友:Anass

正如WordPress文档所述.htaccess 文件:

WordPress使用此文件来处理Apache如何从其根目录及其子目录提供文件。最值得注意的是,WPModified这个文件能够处理相当长的永久链接。

和一个基本的。htaccess文件内容如下所示:

# BEGIN WordPress

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress
如果那样的话。您所说的htaccess位于WordPress目录中,您可以重命名它,并尝试访问您的WP管理面板,转到您的permalinks设置仪表板,点击该页面底部的“无更改保存更改”按钮,以重新生成新的.htaccess 安装目录中的文件,以及与网站配置相匹配的当前重写文件规则。

如果您过去对以前的网站安装进行了一些更改,请确保备份该文件,并在新生成的文件中复制规则以保留旧的更改。

SO网友:WebElaine

WordPress标准.htaccess 文件包含:

# BEGIN WordPress

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress
看起来就像你现在.htaccess 文件被设置为重定向任何域和路径上传入的每个请求。您可以删除它并让WP生成自己的,或者使用上面的标准。

更改域时,还需要确保运行迁移脚本来更新数据库中旧域的所有实例。WP CLI命令wp search-replace 这是一种快速的方法;还有一些插件可以进行替换,或者您的主机可以为您运行迁移。还要再次检查wp-config.php 文件具有新服务器的凭据,而不是旧服务器的凭据。