Настройка групповых доменов на локальном хосте (OS X 10.5)? - PullRequest
9 голосов
/ 26 марта 2009

Я начинаю разрабатывать сайт, который в основном действует как WordPress MU, в том смысле, что пользователь может зарегистрироваться и иметь свой собственный блог. Я буду кодировать это в Rails, однако я надеюсь, что смогу использовать поддомены подстановочных знаков, чтобы я мог использовать такой формат, как blog.example.com. Я немного искал, но не могу найти хороших ресурсов.

Поскольку я использую Rails, я не уверен, куда это поместить, так как я использую Mongrel, а не Apache. Я могу обойти это на моей локальной машине, разрабатывая удаленно на моем сервере, однако я бы хотел оставить это только в качестве крайней меры.

При необходимости я могу дать более подробную информацию о своей среде разработки, но вот основы:

  • Mac OS X Leopard 10.5.6
  • Рубин 1.8.7
  • Рельсы 2.3.2

Ответы [ 4 ]

14 голосов
/ 26 марта 2009

Строго говоря, это невозможно сделать в файле 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, так что, возможно, он работает ...

Единственная другая альтернатива, которую я знаю, это настроить полноценный DNS-сервер на вашем ПК ...

3 голосов
/ 03 октября 2009

Мне не удалось заставить код Ника работать со стандартным локальным хостом: установка 3000, выполняющая ruby ​​на рельсах на Max OSX 10.5.8. Итак, я изменил функцию на следующую. Теперь это позволяет мне перейти к 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. Что-то, о чем нужно знать.

2 голосов
/ 26 апреля 2011

У меня была такая же проблема, и оказалось, что довольно легко получить имя, работающее в OSX (оно уже предустановлено!). Ознакомьтесь с http://mikeferrier.ca/2011/04/04/setting-up-wildcard-dns-on-localhost-domains-on-osx/ для получения инструкций.

0 голосов
/ 12 августа 2009

Это прекрасно работает, пока лучшее решение для тестирования поддоменов на localhost ... сравните с тем, как я использовал ruby ​​ghost gem.

...