htaccess强制https用于某些目录

时间:2013-12-03 13:00:05

标签: regex apache .htaccess mod-rewrite https

我想在htaccess中强制https用于以下目录:

  • /管理
  • /帐户
  • /登录
  • /接触
  • /登入

到目前为止,我得到了以下代码:

RewriteCond %{HTTPS} =off
RewriteRule ^admin https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^account https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^login https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^contact https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^signin https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

但这仅适用于前两个目录'/ admin'和'/ account',其余目录不会重定向到https。

任何人都知道如何让这项工作用于其他目录吗?

2 个答案:

答案 0 :(得分:3)

RewriteCond仅适用于下一个RewriteRule。您的多个规则可以合并为一个。请考虑以下代码:

RewriteCond %{HTTPS} off
RewriteRule ^(admin|account|login|contact|signin) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

答案 1 :(得分:0)

这对我也有用,但仅适用于除每个目录中的root之外的所有页面。即,https://domain.com/folder/不在SSL中。