47

您肯定知道,您可以使用“hosts”文件将主机名映射到 IP 地址。这非常有用,尤其是在您进行开发时,因为您可以更改 project1 的 localhost。

这部分很清楚,但不幸的是我不知道如何设置它以打开具有相同 IP 的多个项目。我尝试了一些没有成功的事情,例如:

127.0.0.1/projects/project1  project1
127.0.0.1/projects/project2  project2

我检查了一些相关问题,但找不到答案。那么,我能以某种方式完成我想做的事情吗?有什么建议么?

4

3 回答 3

77

hosts 文件只是从名称到 IP 的映射。您可以在 IP 旁边指定多个名称,如下所示:

127.0.0.1 name1 name2 name3.domain
于 2013-07-06T18:28:18.047 回答
45

感谢 Google 和合作者 @jvilhena 和 @DRC,我解决了这个问题。我是这样做的:

如果您像我一样使用 Windows 和 XAMPP,那么第一步是设置“主机”文件。如果您使用的是 Windows,您可能会在 C:\Windows\System32\drivers\etc\hosts 中找到它。您可以使用任何文本编辑器对其进行编辑。

您可以设置任意数量的主机名,所有主机名都指向您的本地主机,IP 为 127.0.0.1。

例如:

 127.0.0.1               local.project1
 127.0.0.1               local.project2
 127.0.0.1               youcanuseany.name.here

第二步是处理 Apache 文件 httpd-vhosts.conf。同样,我使用的是 Windows 和 XAMPP。该文件很可能位于 C:\xampp\apache\conf\extra\httpd-vhosts.conf 中。

您不必这样做,但我喜欢将我的项目文件夹保存在我的 htdocs 文件夹 @C:\xampp\htdocs 中。

对于您为其创建“主机名”的每个项目,您应该将以下内容添加到您的 httpd-vhosts.conf 文件中:

<VirtualHost *>
    DocumentRoot "C:\xampp\htdocs\projectx"
    ServerName youcanuseany.name.here
    <Directory "C:\xampp\htdocs\projectx">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>  

再举一个例子:)

<VirtualHost *>
    DocumentRoot "C:\xampp\htdocs\project1"
    ServerName local.project1
    <Directory "C:\xampp\htdocs\project1">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

现在您可以在浏览器中输入local.project1youcanuseany.name.here,它应该会打开您的项目,就像您在输入localhost/project1和一样localhost/projectX。我希望这有帮助。

于 2013-07-27T02:12:04.087 回答
15

在撰写本文时,有两个投票率很高的答案 - 一个将所有别名放在一行中,另一个将它们放在不同的行上。值得注意的是,虽然第一个解决方案更紧凑,但可能还需要第二个解决方案,因为Windows 对每行上的别名数量有 9 个限制。因此,要获得最大的紧凑性,但在有很多别名时仍然可以工作:-

127.0.0.1 alias1 alias2 alias3 alias4 alias5 alias6 alias7 alias8 alias9
127.0.0.1 alias10 alias11 alias12 alias13 alias14 alias15 alias16 alias17 alias18 
127.0.0.1 alias19 ...etc...
于 2019-04-11T08:32:09.520 回答