将特定域重定向到HTTPS

时间:2014-02-20 03:58:49

标签: .htaccess

我的域名www.abc.com现在重定向到https://www.abc.co.uk

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

这些代码正是我想要的。之后我创建了一个子域。 www.x.abc.co.uk 现在我想将其重定向到http://x.abc.co.uk(不使用https)

我用过这个

RewriteCond %{HTTP_HOST} ^x\.abc\.co\.uk [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

但是浏览器说它有重定向循环。

怎么做?

1 个答案:

答案 0 :(得分:1)

如果这些是两个不同的htaccess文件,请尝试一下。

RewriteEngine On
#redirect www.x.abc.co.uk without www to http
RewriteCond %{HTTP_HOST} ^www\.x\.abc\.co\.uk [NC]
RewriteRule ^(.*)$ http://x.abc.co.uk%{REQUEST_URI} [L,R=301]

我修改了您的原始规则,因此您没有两个重写规则,仍然直接指向www。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [OR]
RewriteCond %{HTTPS} !^on$ 
RewriteRule ^(.*)$ https://www.abc.co.uk%{REQUEST_URI} [L,R=301]