Ошибка «Сервер не найден» при использовании sfDomainRoutePlugin с Symfony - PullRequest
0 голосов
/ 01 октября 2011

Я пытаюсь создать сайт с поддоменами, используя плагин sfDomainRoutePlugin . Я использую SF версии 1.4.12 в Linux с Apache в качестве веб-сервера.

Я следую онлайн-инструкциям и создал следующий файл маршрутизации:

homepage:
  url:          /
  class:        sfDomainRoute
  param:        { module: foo, action: index }
  requirements:
    sf_host:    [portal.localhost]

#Sample route limited to one subdomain
blog:
  url:          /
  class:        sfDomainRoute
  param:        { module: foo, action: foo1 }
  requirements:
    sf_host:    blog.portal.localhost

#Sample route that will capture the subdomain name as a parameter
user_page:
  url:          /
  class:        sfDomainRoute
  param:        { module: foo, action: foo2 }

#Sample route that will not receive a subdomain and will default to www.greenanysite.com
install:
  url:          /install
  class:        sfDomainRoute
  param:        { module: foo, action: foo3 }

Мой код модуля foo имеет методы foo1, foo2 и foo3, реализованные как функции-заглушки, и у каждого есть свой шаблон, который просто содержит текст, подтверждающий, какой метод был выполнен (например, 'foo :: Foo1 был вызван') и т. Д.

Шаблон для метода index (в модуле foo) выглядит следующим образом:

<html>
  <head><title>Test subdomains</title></head>
  <body>
    <ul>
        <li><?php echo link_to('homepage', '@homepage'); ?></li>
        <li><?php echo link_to('blog', '@blog'); ?></li>
        <li><?php echo link_to('zzzrbyte', '@user_page?subdomain=zzzrbyte'); ?></li>
        <li><?php echo link_to('install', '@install'); ?></li>
    </ul>
  </body>
</html>

URL-адреса генерируются правильно (то есть с поддоменами, как указано в файле routing.yml), однако, когда я нажимаю ссылку «блог» или «zzzrbyte», я получаю сообщение об ошибке: 'Сервер не найден «

Например, я получил это сообщение:

Сервер не найден Firefox не может найти сервер в blog.portal.localhost.

AFAICT, я точно следую онлайн-инструкциям, поэтому не могу понять, в чем дело. Может кто-нибудь определить, что может быть причиной этой проблемы?

[[UPDATE]]

Я только что понял, что, добавив поддомен в мой файл hosts, похоже, это избавило от проблемы. Я не уверен, если это исправление или просто временное решение. Если это способ сделать что-то, я задаюсь вопросом, почему такая важная информация была оставлена ​​в записках?

Если это способ заставить вещи работать, это означает, что субдомены должны быть известны заранее (т.е. не генерироваться динамически и не разрешаться во время выполнения), также - я не уверен, как такое решение работает для удаленный сервер, так как я использую несколько веб-сайтов (в качестве виртуальных серверов) на одной физической машине и не использую файл hosts на сервере.

Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 02 октября 2011

Добавление субдомена к хостам является правильным способом решения этой проблемы

...