好的,我们有一个网站和游戏服务器受代理保护,以对抗我们过去曾经遇到的大规模DDOS攻击。因此,当人们谷歌服务器的名称时,它会导致最高结果是专用服务器IP地址。我用Google搜索了几个小时,然后提出了为.htaccess文件添加条件的解决方案。哪个仍然解决了我的问题。我在.htaccess中的内容如下:
RewriteCond %{http_host) !^198.12.xxx.xxx/ [nc]
RewriteRule ^(.*)$ http://forums.empiresmc.net/$1 [r=301,nc,L]
这是对的吗?或者我是否朝着错误的方向寻求解决方案。
答案 0 :(得分:0)
我认为RewriteCond %{http_host) !^198.12.xxx.xxx/
不起作用(假设xxx是实数)。有不匹配的括号,最后/
也是一个问题。
请改为使用这样的规则:
RewriteCond %{HTTP_HOST} !^forums\.empiresmc\.net$ [NC]
RewriteRule ^(.*)$ http://forums.empiresmc.net/$1 [R=302,L]
不是检查IP,而是检查HOST_NAME在请求中是否不是forums.empiresmc.net
。
验证一切正常后,将R=302
替换为R=301
。在测试mod_rewrite规则时,请避免使用R=301
(永久重定向)。