为什么我的子域只能在 Chrome 中使用?

Why does my subdomain only work in Chrome?

我已经像这样在我的 httpd-vhosts.conf 文件中添加了一个虚拟主机

<VirtualHost *:80>
    DocumentRoot "/website/sub"
    ServerName sub.localhost
</VirtualHost>

我还有两个 .htaccess 文件(暂时相同),一个用于本地主机,一个用于 sub.localhost

网站/.htaccess:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

website/sub/.htaccess:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

现在,如果我在 Chrome 中打开 http://sub.localhost,它会按预期工作。然而,当我在 Safari、Firefox 或 Opera 中打开它时,我收到一条消息,基本上是说找不到服务器。

我错过了什么?

我认为 Chrome 会产生一些魔力并将本地主机的所有子域解析为 127.0.0.1。

您必须将 127.0.0.1 sub.localhost 添加到您的主机文件

  • Linux: /etc/hosts
  • OSX: /私有/etc/hosts
  • Windows: %windows%/system32/drivers/etc/hosts