背景
我有一个被迫使用https
的网站,
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
我有一个必须http
才能运行的网址。它看起来像这样,
www.example.com/mypage.html
或
example.com/mypage.html
问题
考虑到存在强制整个网站https
的规则,如何强制使用任何格式www或不使用www的网址强制使用http
?
答案 0 :(得分:1)
要实现这一点,您需要包含重写条件(RewriteCond
)。所以你可以使用:
RewriteCond %{REQUEST_URI} !^/mypage
这基本上是说如果网址包含/mypage
,则不重定向到HTTP并保持为HTTP。如果网址不包含/mypage
,则会将所有内容重定向到HTTP。
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} !^/mypage
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
如果RewriteCond %{SERVER_PORT} 80
适用于您,请继续使用它,但您可以将其替换为RewriteCond %{HTTPS} !=on
。
确保在>>测试之前清除缓存。