由于缺乏经验,论坛被人恶意绑定域名了,即将它的域名绑定至论坛对应的IP地址!
网上查找之后,知道了归根结底,是由于允许了IP地址直接访问论坛,而IP地址访问的正是默认站点!
可以通过关闭默认网站,从而屏蔽IP地址直接访问!
但是添加关闭默认网站的代码后,伪静态失效了,原因是下面的伪静态部分的代码,如果放在VirtualHost之外,则作用于VPS,只有放在虚拟主机的范围内,才能在关闭默认网站的同时,使伪静态仍然生效!
以下代码添加到httpd.conf的最后!
NameVirtualHost 12.34.56.78
<VirtualHost 12.34.56.78>
DocumentRoot /
ServerName 12.34.56.78
</VirtualHost>
<VirtualHost 12.34.56.78>
DocumentRoot /var/www/html
ServerName www.123.com
ServerAlias 123.com
#Add the "Wei Jing Tai" --- 20120206 by Tinyeyeser
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2&%1
#RewriteCond %{QUERY_STRING} ^(.*)$
RewriteCond ServerName ^(.*)$
RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3&%1
</IfModule>
</VirtualHost>