问题描述
我想允许三个 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。