首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Windows主机文件中的通配符

Windows主机文件中的通配符
EN

Stack Overflow用户
提问于 2008-09-26 07:35:44
回答 20查看 225.9K关注 0票数 309

我想要设置我的本地开发机器,以便任何对*.local的请求都被重定向到localhost。我的想法是,当我开发多个站点时,我可以只向Apache添加名为site1.localsite2.local等的vhost,并将它们都解析为localhost,而Apache则相应地为不同的站点提供服务。

我使用的是Windows XP。

我试着添加

代码语言:javascript
复制
127.0.0.1       *.local

添加到我的c:\windows\system32\drivers\etc\hosts文件,也尝试了:

代码语言:javascript
复制
127.0.0.1       .local

这两种方法似乎都不管用。

我知道我可以在不同的端口号上设置它们,但这是一种痛苦,因为很难记住哪个端口是哪个端口。

我不想设置本地DNS服务器或任何硬的东西,有什么建议吗?

EN

回答 20

Stack Overflow用户

回答已采纳

发布于 2012-03-14 12:17:27

丙烯酸DNS代理(免费,开源)可以做到这一点。它使用自己的主机文件创建一个代理DNS服务器(在您自己的计算机上)。hosts文件接受通配符。

从官方网站下载

http://mayakron.altervista.org/support/browse.php?path=Acrylic&name=Home

配置Acrylic代理

要配置Acrylic代理,请从上面的链接安装它,然后转到:

  1. Start
  2. Programs
  3. Acrylic DNS Proxy
  4. Config
  5. Edit自定义主机文件(AcrylicHosts.txt)

在文件末尾添加以下行:

代码语言:javascript
复制
127.0.0.1   *.localhost
127.0.0.1   *.local
127.0.0.1   *.lc

重启Acrylic代理服务:

  1. Start
  2. Programs
  3. Acrilic DNS Proxy
  4. Config
  5. Restart丙烯服务

你还需要在你的网络接口设置中调整你的设置:

  1. Start
  2. Control面板
  3. 网络和互联网
  4. 网络连接
  5. 本地连接Properties
  6. TCP/IPv4

DNS设置为“使用以下服务器地址”:

代码语言:javascript
复制
Preferred DNS Server: 127.0.0.1

如果您随后将此答案与jeremyasnyder的答案(使用VirtualDocumentRoot__)相结合,则可以通过简单地创建一个目录来自动设置域/虚拟主机。

票数 450
EN

Stack Overflow用户

发布于 2008-11-07 13:42:16

要回答您的问题,您不能在Windows下的主机文件中使用通配符。

但是,如果您只想更改主机文件以使新站点正常工作...你可以这样配置你的Apache,而且你不必一直编辑它的配置:

http://postpostmodern.com/instructional/a-smarter-mamp/

简单地说,根据我的设置,在apache.conf文件中添加以下内容:

代码语言:javascript
复制
 LoadModule vhost_alias_module modules/mod_vhost_alias.so

 NameVirtualHost *:80

  <Directory "/xampp/sites">
      Options Indexes FollowSymLinks Includes ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all 
  </Directory>

  <VirtualHost *:80>
      VirtualDocumentRoot c:/xampp/sites/%-1/%-2+/
  </VirtualHost>

这使我可以添加一个条目,如:

代码语言:javascript
复制
127.0.0.1       test.dev

然后创建目录c:\xampp\sites\dev\test,并在其中放置必要的文件,它就可以正常工作了。

另一种选择是在apache.conf中使用<Directory>标记并引用http://localhost/project/中的页面。

票数 81
EN

Stack Overflow用户

发布于 2008-09-26 07:41:54

我认为这是不可能的。

无论如何,每次添加新站点和位置时都必须修改apache虚拟根目录条目,因此将新名称同步到Windows vhost文件中并不是一件很大的工作。

更新:请检查下一个答案和对此答案的评论。这个答案已经6岁了,现在已经不正确了。

票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/138162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档