如何通过异常强制HTTP到HTTPS?

时间:2016-03-23 13:38:25

标签: linux .htaccess redirect ssl https

所以我必须通过HTTP强制所有连接转到特定文件夹上的HTTPS(例如“public_html / folder1”)。我在某个地方找到了一个教程,并在.htaccess文件中使用了以下内容:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} folder 
RewriteRule ^(.*)$ https://www.yourdomain.com/folder/$1 [R,L]

问题是,我在该文件夹中有一个文件夹,应该允许通过HTTP访问,而不仅仅是HTTPS,我该怎么做例外? (意思是,我想要允许通过HTTP访问folder1 / subfolder1)。

由于

1 个答案:

答案 0 :(得分:3)

试试这个:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} ^/folder/((?!subfolder).*)$ 

RewriteRule ^(.*)$ https://www.yourdomain.com/folder/$1 [R,L]

模式^/folder/((?!subfolde).*)与请求uri字符串/folder/.*匹配,当字符串为/folder/subfolder/.*时,它不匹配,因此不应用规则。