指向本地主机目录的 Hosts 文件条目

指向本地主机目录的 Hosts 文件条目

我有一个目录设置,其中有一条错误消息http://localhost/blocked/。我想将主机中与我已阻止的网站相关的条目定向到那里,而不仅仅是127.0.0.1127.0.0.1/blocked/不起作用。我对主机文件一无所知,这甚至可能不是实现我的目标的最佳方式。

重申:我想将针对特定域的所有请求定向example.com到,例如 http://localhost/blocked/

答案1

嗯,您可以考虑以下几点:

  • 在您的文件中为所有被阻止的域创建条目hosts,指向127.0.0.1(我想您已经这样做了)
  • <VirtualHost>在 Apache 配置中创建一个块ServerAlias,其中每个被阻止的域都有一行。或者其中一个可以是 a ServerName,其余的ServerAlias是 es。在此虚拟主机中,您可以将所有请求重定向到“被阻止”错误页面的现有 URL,或者(也许更简单)将错误页面放在文档根目录中。

以下是我的做法:

<VirtualHost *:80>
    ServerName blocked.localhost
    ServerAlias example.com
    DocumentRoot /var/www/blocked.localhost/htdocs
    # put the usual <Directory> section for that document root
</VirtualHost>

blocked/并将目录(在您的文件系统上)的所有内容移动到/var/www/blocked.localhost/htdocs。显然路径名只是示例。

确保NameVirtualHost *:80Apache 配置中某处出现一行。(或者,如果您想捕获 80 以外的端口上的请求,也可以安排)

答案2

hosts 文件只关心主机。不关心主机内的目录。为了实现你所希望的功能,你需要从http://本地主机/http://localhost/blocked/。如果您正在运行 apache,则可以使用 mod_alias 或 mod_rewrite 来实现这一点。

相关内容