2011-02-07 138 views
1

我有一个常见问题,想要将某个受限访问目录的请求从http重定向到https,以便用户的登录凭据以安全办法。通过.htaccess将http重定向到https目录,仅使用mod_alias

但是,我没有在我的服务器上启用mod_rewrite。我只有mod_alias。这意味着我必须使用RedirectMatch命令。我无法使用通常使用RewriteCond和RewriteRule的解决方案。

(A在政治注:我在一个非常大的组织小混混子网站的维护者,所以服务器管理员不太可能愿意改变服务器配置为我!)

下面一行工作,而是形成一个无限循环(因为重写URL仍然由最初的正则表达式捕获):

RedirectMatch permanent ^/intranet(.*)$ https://example.com/intranet$1 

我的一个内部IT人员已经建议我避免无限循环通过将文件移动到一个新的目录用一个新的名字(例如/ intranet2 /)。这对我来说似乎很难看。并且人们仍然可以通过直接访问http://example.com/intranet2/意外/故意恢复到不安全的连接。

然后我尝试这一点,但没有奏效:

RedirectMatch permanent ^http:(.*)/intranet(.*)$ https://example.com/intranet$1 

我怀疑它没有工作,因为第一个参数必须是从根目录中的文件路径,所以它不能启动与“http:”。

因此:任何更好的想法如何做到这一点?

回答

0

mod_alias指令可以处理请求URI(URL中域名之后的内容),它们不是路径或URL。你无法与该计划相匹配。

相关问题