使用htaccess在home / index页面上强制ssl除外

时间:2011-06-27 09:13:36

标签: php regex apache

抱歉,当谈到正则表达时,我有点可怜,我试过但失败了。

你能告诉我索引/主页如何不在ssl中吗?现在我有这个重写规则强制整个网站在ssl:

# force ssl
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

我需要的是主页/索引页面不在ssl。

3 个答案:

答案 0 :(得分:1)

尝试:

<IfModule mod_rewrite.c>
    RewriteEngine on

    # force ssl
    RewriteCond %{REQUEST_URI} !^$  # no ssl on /
    RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ /index\.php\ HTTP/ # no ssl on index.php
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

</IfModule>

答案 1 :(得分:0)

正确的条件是:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

确保重载引擎已加载。

答案 2 :(得分:0)

您想要另一个RewriteCond

RewriteCond %{REQUEST_URI} !^$