Wordpress SSL & www rewrite



某些url 重写时遇到问题。 我想将所有网址重定向到没有 www 的 https

目前我有:

1) 强制 https 与 (s) -工作http://example.com => https://example.com

2) 强制使用 https 并删除 www -工作http://www.example.com => https://example.com

3) 使用请求从 https 中删除 www -失败https://www.example.com => https://example.com

似乎它甚至没有通过ERR_SSL_UNRECOGNIZED_NAME_ALERT到达我的htaccess代码 网站可能暂时关闭,或者可能已永久移至新的网址。

这是我的htaccess文件中的内容

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

该网站由主机Gator托管,我联系了支持人员,并被告知无法设置,因为该网站是使用Wordpress构建的。

这对我来说似乎不是正确的答案,所以我想我会在这里问。

任何信息赞赏。

干杯

RewriteCond %{HTTPS} off不会检测到HTTPS请求,因此您可能希望仅针对HTTPS请求添加另一个规则(具有相同/相似的条件),例如:

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

除了添加这个,您还可以使用 OR 条件简化所有内容:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on  [OR]
RewriteCond %{HTTP_HOST} !^example.com$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L]
</IfModule>

这意味着,如果HTTPSnulloff,或者域不以example.com开头,请重定向到https://example.com

有趣的是,支持认为 Wordpress 以某种方式阻止了 .htaccess 的使用,但我想知道您的主机是否有某些.htaccess限制,阻止依赖它的插件(例如防弹安全性)正常工作。

最新更新