Mod_rewrite将特定IP重定向到页面

时间:2014-02-26 23:17:34

标签: .htaccess mod-rewrite redirect

我一直在尝试让我的网站将特定IP重定向到特定页面。

在我的.htaccess文件中使用以下内容

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_HOST} ^138\.91\.49\.132$
RewriteRule .* http://www.anothersite.com/mypage.html [R=302,L]

应重定向IP 138.91.49.132。没有任何东西被重定向。

当我使用这个

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_HOST} !^138\.91\.49\.132$
RewriteRule .* http://www.anothersite.com/mypage.html [R=302,L]

应重定向除138.91.49.132之外的所有内容。一切都被重定向。

这到底是怎么回事,因为它让我非常沮丧......我做错了什么?

2 个答案:

答案 0 :(得分:2)

我设法通过使用HTTP:CF-CONNECTING-IP来实现它,因为看起来Cloudflare CDN正在破坏RewriteCond的使用%{REMOTE_ADDR}

RewriteCond %{HTTP:CF-CONNECTING-IP} ^(212\.219\.11\.6)$
RewriteRule (.*) http://lol.awebsite.co.uk [R=301,L]

感谢anubhava让我进入这个阶段。

答案 1 :(得分:0)

您需要使用REMOTE_ADDR代替:

RewriteEngine On

RewriteCond %{REMOTE_ADDR} ^138\.91\.49\.132$
RewriteRule (.*) http://www.anothersite.com/mypage.html [R=301,L]
相关问题