.htaccess重定向一切除外

时间:2018-02-15 21:41:27

标签: .htaccess

我需要将所有HTTP请求重定向到HTTPS,但访问我的管理页面的请求除外。

这应该转到HTTP

  http://example.com/admin/**/*

这应该转到HTTPS:

 http://example.com/blas.dfds

这就是我所拥有的,它会将所有内容重定向到HTTPS。如何使用" admin"添加过滤器来请求关键字?

 RewriteEngine On
 RewriteCond %{HTTPS} off
 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

1 个答案:

答案 0 :(得分:0)

这样做:

RewriteEngine On

# http-https for everything except /admin
RewriteCond %{HTTPS} off
RewriteCond %{THE_REQUEST} !/admin [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

# https-http for /admin
RewriteCond %{HTTPS} on
RewriteCond %{THE_REQUEST} /admin [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

在新浏览器中测试这组新规则。