RewriteRule Apache

时间:2016-03-05 17:34:40

标签: apache .htaccess mod-rewrite

我尝试创建一条规则,将所有流量从HTTP重定向到HTTPS,但从一个特定目录除外。在这种情况下命名为" sample",如下所示:

example.com -> https://example.com
example.com/index.html -> https://example.com/index.html
example.com/sample/ -> example.com/sample/

我已尝试修改重定向到HTTPS的常用代码,但我可以让它正常工作,这是我的代码:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (www.)?%{HTTP_HOST}/?(?!/sample) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

通过正则表达式我试图忽略"样本"目录,但它既没有重定向" index.html"页。 缺少什么或我该如何正确地做到这一点?

谢天谢地,V。

1 个答案:

答案 0 :(得分:0)

您可以将此规则用作第一条规则:

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteCond %{THE_REQUEST} !\s/+sample [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=302,NE,L]