停止使用直接服务器IP访问网站

我需要帮助在apache2的虚拟主机设置。 我不希望用户直接使用像http://55.66.77.88这样的服务器ip来访问我的网站,并且希望确保只有在input特定域名(example.com)时才会打开。直接IP访问应该导致redirectexample.com。

使用mod_rewrite这应该工作

RewriteCond %{HTTP_HOST} !^example\.com [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^/?(.*) http://example.com/$1 [L,R,NE] 

但是这应该被移到serverfault.com

只需创build一个在任何其他VirtualHost之前定义的默认VirtualHost。 如果HTTP / 1.1 Host头包含一个没有VirtualHost存在的域,根本没有域,或者如果使用HTTP / 1.0,默认的VirtualHost将被提供给客户端。

你可以很容易地把一个RedirectPermanent指令放在默认的VirtualHost中。

有关详细信息,请参阅Apache httpd文档中的深入讨论虚拟主机匹配 。

如果找不到匹配的虚拟主机,则会从第一个虚拟主机提供请求,并在客户端所连接的IP的列表中显示匹配的端口号(如前所述)。