允许 3 个 ip,重定向到其他 ip 并重定向到移动站点

问题描述

我想允许三个 IP 访问我的站点显示其他 IP 的消息。此外,如果使用移动设备访问该网站,我想重定向到该网站。

这一切都在 htaccess 中。我尝试过 htaccess 中的 if 语句,但由于某种原因它们不起作用。

我需要的是这个


if ((ip=1.2.3.4 OR ip=5.6.7.8 OR ip=9.10.11.12) AND ismobile=true)
{
    redirect to mobile site
}
elseif ((ip=1.2.3.4 OR ip=5.6.7.8 OR ip=9.10.11.12) AND ismobile=false)
{
    redirect to normal site
}
else
{
    redirect to site with message
}

解决方法

根据您展示的样品,您可以尝试以下操作吗?更改 yoursite 您的实际域名。另外,请确保在测试您的 URL 之前清除浏览器缓存。

<IfModule mod_rewrite.c>

RewriteEngine ON
RewriteCond %{REMOTE_ADDR} ^((1\.2\.3\.4)|(5\.6\.7\.8)|(9\.10\.11\.12))$
RewriteRule ^ http://yoursite.com/ [R=301,L]

RewriteCond %{REMOTE_ADDR} !^((1\.2\.3\.4)|(5\.6\.7\.8)|(9\.10\.11\.12))$
RewriteRule ^ message.php [L]
</IfModule>

这是上述正则表达式的 Online regex demo