使用 htaccess 将所有 https://www.mydomain.com 重定向到 https://mydomain.com(cpanel 中的 2 SSL HOST)[重复]
Posted
技术标签:
【中文标题】使用 htaccess 将所有 https://www.mydomain.com 重定向到 https://mydomain.com(cpanel 中的 2 SSL HOST)[重复]【英文标题】:Redirect all https://www.mydomain.com to https://mydomain.com using htaccess (2 SSL HOST in cpanel) [duplicate] 【发布时间】:2013-04-03 08:14:40 【问题描述】:我需要重定向一个域https://www.mydomain.com to https://mydomain.com.
我使用这个 .htaccess 但它不适合我。
之前我有 https://www.mydomain.com
的 ssl 证书,但它坏了,我们为主机 https://mydomain.com
注册新的 ssl
在 WHM 中只有一个 ssl 主机,但在 cpanel 中有两个主机,一个是旧的 www.mydomain.com
和 mydomain.com
(这对重定向有影响吗?)
.htaccess 在下面。
RewriteEngine on
RewriteCond %HTTPS on
RewriteCond %HTTP_HOST ^www\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L]
RewriteCond %HTTPS off
RewriteCond %HTTP_HOST ^(www\.)?mydomain\.com$ [NC]
RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L]
我在输入https://www.mydomain.com
时总是收到安全警报。
我在这里犯了什么错误?
提前致谢
【问题讨论】:
2和3有什么区别 我在第三次使用 HTTPS_HOST 【参考方案1】:这里有什么错误?
错误在于没有%HTTPS_HOST
变量。 %HTTP_HOST
是作为 HTTP 协议一部分的请求标头(主机)。您不需要第 3 行,您要做的是使用 %HTTPS
变量检查请求是否为 HTTPS,就像您在第一个条件中所做的那样:
RewriteCond %HTTPS off
RewriteCond %HTTP_HOST ^(www\.)?mydomain\.com$ [NC]
RewriteRule ^(.*)$ https://mydomain.com/$1 [L,R=301]
RewriteCond %HTTPS on
RewriteCond %HTTP_HOST ^www\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ https://mydomain.com/$1 [L,R=301]
【讨论】:
感谢您的回复,它的回答很好,但我无法将“mydomain.com”重定向到“mydomain.com”,其他都很好。这里的主要问题是,我有 ssl 证书“mydomain.com”,因为服务器问题导致 ssl 中断,并在“mydomain.com”中新安装了 ssl。这是问题吗?你说什么?以上是关于使用 htaccess 将所有 https://www.mydomain.com 重定向到 https://mydomain.com(cpanel 中的 2 SSL HOST)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 .htaccess 将所有子域和子目录重定向到索引页面
.htaccess - 将所有 URL + 现有目录重定向到 index.php