htaccess rewrite - 将http文件夹重写为https文件夹

时间:2012-09-14 05:17:32

标签: .htaccess http https

就像标题一样。 我想将整个文件夹(在本例中为/ w1 /)从http重定向到https。 如何将此重定向:http://testdomain.com/system / w1 / (以及该文件夹中的所有文件夹):https://testdomain.com/system / w1 / (以及所有内容)夹)。例如,http://testdomain.com/system/w1/w1_input.php将重定向到 https ://testdomain.com/system/w1/w1_input.php

我想要使用这种规则:

RewriteCond %{HTTPS} !=on
RewriteRule ^/w1(.*)$ https://testdomain.com/system/w1/$1 [R=301,L]

但这没有做任何事情

2 个答案:

答案 0 :(得分:1)

不需要.htaccess和/或重写。只需将RedirectMatch放入http.conf级别的非ssl主机定义中。

<Host example.com:80>
   RedirectMatch 301 (.*) https://example.com$1
</Host>

答案 1 :(得分:1)

如果这些规则在htaccess文件中,则在通过重写引擎之前,前导斜杠会从URI中删除,因此^/w1将无法匹配任何内容。看起来您可能在/system/目录中的htaccess文件中包含这些规则:

RewriteCond %{HTTPS} !on
RewriteRule ^w1/(.*)$ https://testdomain.com/system/w1/$1 [R=301,L]

如果不是:

RewriteCond %{HTTPS} !on
RewriteRule ^system/w1/(.*)$ https://testdomain.com/system/w1/$1 [R=301,L]