我需要有关 apache2 中的虚拟主机设置的帮助。我不希望用户直接使用以下服务器 IP 访问我的网站:http://55.66.77.88并希望确保仅在输入特定域名(example.com)时才打开。直接 IP 访问应导致重定向 example.com。
答案1
使用 mod_rewrite 应该可以工作
RewriteCond %{HTTP_HOST} !^example\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*) http://example.com/$1 [L,R,NE]
但这应该移至 serverfault.com
答案2
只需创建一个默认的 VirtualHost,它将在任何其他 VirtualHost 之前定义。如果 HTTP/1.1Host
标头包含不存在 VirtualHost 的域、根本没有域或使用 HTTP/1.0,则将向客户端提供默认的 VirtualHost。
您可以轻松地将RedirectPermanent
指令放入默认的 VirtualHost 中。
有关详细信息,请参阅虚拟主机匹配深度探讨在 Apache httpd 文档中。
如果找不到匹配的虚拟主机,则从客户端连接的 IP 列表中具有匹配端口号的第一个虚拟主机提供请求(如前所述)。