如何使用相同的ip为多个域/主机设置hosts文件?

时间:2013-07-06 18:25:12

标签: hosts web-development-server

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

这一部分很清楚,但不幸的是我无法弄清楚如何设置这个以使用相同的ip打开多个项目。我尝试了一些没有成功的事情:

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

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

3 个答案:

答案 0 :(得分:50)

hosts文件只是从ip到多个名称的映射,因此您可以像这样指定ip旁边的所有名称

127.0.0.1 name1 name2 name3.domain

答案 1 :(得分:27)

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

如果您使用的是Windows和XAMPP,我的情况是第一步是设置'hosts'文件。如果您使用的是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.project1和youcanuseany.name.here,它应该打开您的项目,就像您键入localhost / project1和localhost / projectX一样。我希望它有所帮助。

答案 2 :(得分:1)

在撰写本文时,有两个获得高度评价的答案-一个将所有别名放在一行中,另一个将它们放在单独的行中。值得注意的是,尽管第一个解决方案更紧凑,但自Windows has a limit of 9 for the number of aliases on each line起,可能还需要第二个解决方案。因此,要具有最大的紧凑性,但在有很多别名时仍然可以使用:-

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...