有人在我的网站上尝试了一些不好的东西,我厌倦了阻止他正在使用的IP。所以我想阻止他一起执行代码并将任何此类尝试重定向到本地服务器。为此,我在.htaccess:
RewriteCond %{QUERY_STRING} ^id=http://213.246.61.125:2082/index.html$ [NC]
RewriteRule page.php http://127.0.0.1/index.php? [NS,S,L]
现在,事情是从托管此index.html的许多不同IP尝试此操作。所以我想制作一个通配符,这样无论在index.html之前的IP,尝试它的人总是被重定向到他的本地服务器。
我不知道该怎么做。我不能像在其他地方(34.5.*.*)
那样使用IP通配符,因为这是一个链接。所以我假设我必须使用类似的东西:
RewriteCond %{QUERY_STRING} ^id=http://([0-9]).([0-9]).([0-9]).([0-9]):2082/index.html$ [NC]
RewriteRule page.php http://127.0.0.1/index.php? [NS,S,L]
但是,上面的说法不对,但我不知道如何根据任何数字组合调整它。也许有人可以提供帮助?
答案 0 :(得分:0)
您应该在[0-9]
字符范围之后加号,因为您想要匹配一个或多个字符。另请注意
RewriteCond
中的括号是不必要的。NS
中的S
和RewriteRule
标记可能是不必要的。我会尝试以下方法:
RewriteCond %{QUERY_STRING} ^id=http://[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:2082/index\.html$ [NC]
RewriteRule page\.php http://127.0.0.1/index.php [L]