Htaccess重写规则和条件

时间:2015-01-12 15:26:43

标签: .htaccess redirect rewrite rules

我们现在在DirectAdmin中使用OpenCart和域别名。 我们现在在htaccess中有一些规则可以将非www重定向到www,将非https重定向到https。 但是这条规则适用于所有域名。我们只想将它用于example-1.com

我们怎么做?我们尝试过的Htaccess都没有做到这一点。

这是我们现有的htaccess

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

我们也只想要这个例子-1和例子2。但现在它总是重定向到example-1

2 个答案:

答案 0 :(得分:1)

我了解到您只尝试重定向example-1example-2而不是其他域。 你可以使用它:

RewriteCond %{HTTP_HOST} (?:^|\.)(example-1\.com|example-2\.com)$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.%1%{REQUEST_URI} [NE,L,R=301]

答案 1 :(得分:0)

尝试:

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