2012-09-14 264 views
-2

就像在标题中一样。 我想将整个文件夹(在这个例子中是/ 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.phphtaccess重写 - 将http文件夹重写为https文件夹

我特林使用这种规则:

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

但是这并没有什么

回答

1

没有必要进行.htaccess和/或重写。只需将一个RedirectMatch放入http.conf级别的非ssl主机定义中即可。

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

这重定向一切,OP只想重定向'/ W1 /'文件夹。 –

+1

可以很容易地添加到比赛中。 –

+0

我无权访问该文件 - 我只能使用htaccess – born2fr4g

1

如果这些规则在一个htaccess文件中的领先斜线通过重写引擎被放在前剥去URI,所以^/w1将不匹配任何东西。它看起来像你可能有一个htaccess文件,这些规则在/system/目录:

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] 
+0

这些规则不起作用。它不重定向到https – born2fr4g

+0

你的htaccess是在哪里?你尝试了什么网址,但它不起作用? – Oussama