我在网站上定义单个网址的例外时遇到问题,除了一个子目录外,所有网址都需要https。
我目前有:
## Redirect URLs to https://
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
</IfModule>
但我需要围绕www.example.com/forum定义一个例外,以便它始终http://www.example.com/forum,而不使用https://协议。
我该怎么做?我尝试了各种各样的! RewriteCond上的运算符,但%SERVER_PORT似乎优先。我应该考虑另一个RewriteCond吗?
答案 0 :(得分:1)
替换最后一行:
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
有了这个:
RewriteRule !^/?forum https://www.example.com%{REQUEST_URI} [R,L]
如果是,请将[R,L]
替换为[R=301,L]
以永久重定向
<强>更新强>
根据您的评论,您要强制https
forum
个http
{{}}}请求加入RewriteCond %{SERVER_PORT} !80
RewriteRule ^/?forum http://www.example.com%{REQUEST_URI} [R,L]
,您可以添加这些规则以及上述规则:
{{1}}