apache .htaccess文件https:// redirect ----为子目录重写它?

时间:2011-04-07 08:19:19

标签: apache .htaccess https

这是我的代码:

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

如果我把它放在我的主目录的.htaccess文件中,这将成功地将所有内容重写为https(它将“强制”https)。但是,如果我只想让我的子目录/ support强制使用https呢?如何重写上面的代码?

目的是在WHMCS中强制使用https

提前致谢!

2 个答案:

答案 0 :(得分:2)

如果您只想重定向子文件夹而不是子域,那就更容易了。要重定向子文件夹/ support /,您将使用以下代码:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/support/(.*)$ https://%{HTTP_HOST}/support/$1 [QSA]

我添加了一个QSA标志,它会强制将输入的任何查询字符串附加到重定向URL。如果您不在站点的此部分中使用查询字符串,则可以删除该标志。此外,如果显示的字符串不起作用,您可以尝试从RewriteRule中删除前导斜杠并重试它。

答案 1 :(得分:0)

在%{HTTPS}行之前添加以下规则:

RewriteCond %{HTTP_HOST} ^support.domain.com$

这只允许在访问者来自子域时执行规则。请注意,这些规则可能需要放在.htaccess文件中,该文件是子域的根,而不是主站点根文件夹。