如何把"和#34;和#34;或#34; RewriteCond中的条件?

时间:2014-04-12 06:50:05

标签: apache .htaccess http url mod-rewrite

这是我当前的VirtualHost节点:

<VirtualHost *:80>
  ServerName abc.com
  ServerAlias abc.com www.abc.com
  RewriteEngine on
  RewriteCond %{HTTPS} !=on
  RewriteRule ^/?(.*) https://%{SERVER_NAME}/ [NC,R,L]
</VirtualHost>

它传达了每个请求:80来到此服务器将重定向到HTTPS。现在,我想将orand条件添加到VirtualHost节点。所以,它将如下工作:

  • 如果请求:80来自xyz.com,那么它将不会重定向到HTTPS
  • 如果请求:80来自abc.com,则会重定向到HTTPS

我该怎么办?

1 个答案:

答案 0 :(得分:0)

你可以说:

RewriteCond %{HTTP_HOST} ^(www\.)?abc\.com$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*)$ https://%{HTTP_HOST}/$1 [NE,R,L]

RewriteCond %{HTTP_HOST} ^(www\.)?xyz\.com$ [NC]
RewriteCond %{HTTPS} on
RewriteRule ^/?(.*)$ http://%{HTTP_HOST}/$1 [NE,R,L]