我想知道,如何将所有流量从某个IP地址重定向到一个指定页面,以便流量无法访问其他任何内容?
所以发现,我尝试了以下内容,但它没有成功 - 它没有改变任何东西。
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REMOTE_ADDR} = XXX.XXX.XXX.XXX
RewriteRule .* http://www.example.com/404.html
我已经在我自己的IP地址上测试了这个。
答案 0 :(得分:0)
我终于弄清楚了正确的代码应该是什么:
RewriteCond %{REMOTE_ADDR} ^1\.1\.1\.1
RewriteCond %{REQUEST_URI} !/404.html$ [NC]
RewriteRule .* /404.html [R=302,L]
这基本上意味着:
404.html
,我们需要通过让他们访问404.html
404.html
此外,我们可以添加:
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif|css|js) [NC]
这样他们就可以从服务器访问所有图像,样式和javascript文件。
在许多主题中都讨论了是否使用REMOTE_ADDR
或REMOTE_HOST
,并且几乎可以归结为这两个定义:
REMOTE_ADDR 正在制作的远程主机的IP地址 请求。
REMOTE_HOST 发出请求的主机的名称。 如果服务器没有此信息,则会设置REMOTE_ADDR 把它留空。