我已使用以下规则排除200.200.0.17从http重定向到https,但其请求(从200.200.0.17)仍被重定向到https。任何帮助将不胜感激。
<VirtualHost _default_:80>
# If mod_rewrite is present, it takes precedence over mod_alias
# and it is necessary to rewrite the request to https.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^200.200.0.17
RewriteRule (.*) https://%{HTTP_HOST}$1
</IfModule>
# Otherwise use mod_alias to redirect.
Redirect / https://%{HTTP_HOST}/
</VirtualHost>
答案 0 :(得分:1)
这是因为您设置了备用重定向,请删除:
Redirect / https://%{HTTP_HOST}/
或者它会在第一条规则忽略之后继续重定向该IP。
答案 1 :(得分:1)
执行第一条规则后,第二条规则也会执行。要防止这种情况发生,请使用last
标志。更改代码中的行:
RewriteRule (.*) https://%{HTTP_HOST}$1 [L]