.htaccess SSL规则与www重定向规则冲突

时间:2010-10-05 08:07:34

标签: apache .htaccess mod-rewrite

我对.htaccess完全不熟悉,并且一直在浏览论坛并尝试几个例子来尝试构建一个可以解决我们问题的htaccess规则。

我们已制定了将所有流量重定向到www的规则。我们的域名版本运作良好。

但是现在我们已经为没有www的URL购买了安全证书。不幸的是,无论我用多少规则来覆盖上述规则,我似乎都无法覆盖它。

这是我们的www重定向。

RewriteCond %{HTTP_HOST} !^www.ourwebsite.com.au$ [NC]
RewriteRule ^(.*)$ http://www.ourwebsite.com.au/$1 [L,R=301]

我们需要允许以下域https://ourwebsite.com.au/this-page.html

有没有人知道如何在不影响第一条规则的情况下允许使用以下网址。

谢谢,

1 个答案:

答案 0 :(得分:2)

如果您只是担心在通过HTTPS访问网站时不应用该规则,您可以使用%{HTTPS}变量对其进行调整:

# Only worry about this rule when HTTPS isn't on
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^www.ourwebsite.com.au$ [NC]
RewriteRule ^(.*)$ http://www.ourwebsite.com.au/$1 [L,R=301]

如果您决定统一对www / https请求应用www / non-www,您可以查看mod_rewrite tag wiki上的示例,其中说明了如何完成此操作。