HTTPS重定向(使用.htaccess)重定向循环

时间:2016-08-08 作者:Vincent

关于这一点,有相当多的线程正在进行,但它们似乎都说了同样的话(我尝试过),但我不断得到一个重定向循环。我已经尝试在常规设置中更改WordPress地址(URL)和网站地址(URL)(我的管理面板已在https上)

我的htaccess看起来像:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

# start https redirect
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# end https redirect

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

# END WordPress
有人有主意吗?

2 个回复
最合适的回答,由SO网友:Ethan O\'Sullivan 整理而成

我会避免编辑.htaccess 如果您只是将您的网站从HTTP更新为HTTPS。尝试其他路线:

首先,还原.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
接下来,您需要确保网站的所有URL都是最新的,请使用Search Replace DB tool:

去下载Interconnect IT\'s Database Search & Replace Script herelocalhost 安装WordPress的位置(根目录),并将文件夹重命名为replace (screenshot)http://web.site/replace) 和you will see the search/replace toolsearch for… 字段和中的新HTTPS链接replace with… 字段您可以单击“操作”下的“干运行”按钮,查看在执行脚本之前将替换的内容。完成后,请确保删除/replace/ 文件夹

但是

如果您仍然坚持通过.htaccess<IfModule mod_rewrite.c> 标签:

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
它应该如下所示:

# 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]
# Rewrite HTTP to HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>
# END WordPress

SO网友:Tejas Dixit

Can you try this?

# BEGIN WordPress

RewriteEngine On

# start https redirect
RewriteCond %{HTTP_HOST} !^www\\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# end https redirect

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


# END WordPress

相关推荐

菜单链接仅使用http启用HTTPS后,无法重定向http链接

我在Bluehost共享托管服务器上有一个WordPress网站,因为我的共享空间中有多个网站,所以我在自己的文件夹中有一个特定的文件夹public_html. 这意味着我有.htaccess 文件位于public_html, 将我的域重定向到特定的网站文件夹。我还有另一个.htaccess 网站文件夹中的文件,其中有一些WordPress设置和非www URL的重定向。我已尝试添加此http->;两者中的https规则.htaccess 文件,但它没有效果:<IfModule mod_rewr