9

我开始开发一个基本上充当 WordPress MU 的网站,从某种意义上说,用户可以注册并拥有自己的博客。我将在 Rails 中对此进行编码,但是我希望能够利用通配符子域,因此我可以使用诸如 blog.example.com 之类的格式。我做了一些搜索,但找不到任何好的资源。

由于我使用的是 Rails,因此我不确定将其放在哪里,因为我使用的是 Mongrel,而不是 Apache。我可以通过在我的服务器上远程开发来绕过在我的本地计算机上执行此操作,但是我只想将此作为最后的手段。

如果需要,我可以提供有关我的开发环境的更多详细信息,但这里是基础知识:

  • Mac OS X 豹 10.5.6
  • 红宝石 1.8.7
  • 导轨 2.3.2
4

3 回答 3

14

严格来说,在 hosts 文件中不可能做到这一点(至少在 OS X 上)。可以通过将其配置为使用代理自动配置脚本来模拟 Firefox 的行为。

使用以下 javascript 创建一个文件(我使用 ~/.proxy.pac)

function FindProxyForURL(url, host) {
  if (shExpMatch(host,"*.<YOUR_DOMAIN>")) {
    //alert("proxy local")
    return "PROXY localhost";
  }
//alert("proxy direct")
return "DIRECT";
}

然后在 Firefox > 首选项 > 高级 > 网络 > 设置... > 自动代理配置 URL:

file:///Users/USERNAME/.proxy.pac

从来没有在 Safari 中尝试过,但它也支持 PAC 文件,所以也许它可以工作......

我知道的唯一其他选择是在您的 PC 上设置一个完整的 DNS 服务器......

于 2009-03-26T09:01:44.320 回答
3

我无法让 Nick 的代码与在 Max OSX 10.5.8 上运行 ruby​​ on rails 的标准 localhost:3000 设置一起使用。因此,我将功能更改为以下内容。这现在允许我去http://localhost/http://foo.localhost/(也忽略端口)

function FindProxyForURL(url, host) {
  if (shExpMatch(host, "*localhost")) {
    return "PROXY localhost:3000";
  }
  return "DIRECT";
}

有趣 - www.localhost 运行得不太好 - firefox 想重定向到 www.localhost.com。需要注意的事情。

于 2009-10-03T06:41:18.513 回答
2

我遇到了同样的问题,结果证明在 OSX 上运行命名非常容易(它已经预装了!)查看http://mikeferrier.ca/2011/04/04/setting-up-wildcard-dns-on -localhost-domains-on-osx/获取说明。

于 2011-04-26T18:59:39.007 回答