Маршрутизация symfony2.3 не работает на prod env

Я пытаюсь создать маршрут /contact на своем веб-сайте, используя symfony в среде Windows. Я добавил в файл routing.yml такие маршруты:

fstn_venice_homepage:
resource: "@FstnVeniceBundle/Resources/config/routing.yml"
prefix:   /

fstn_venice_contact:
pattern:   /contact
defaults:  { _controller: FstnVeniceBundle:Contact:send }

Я включил prod env :$kernel = new AppKernel('prod', true); Попытка выполнить страницу на prod_env: http://localhost/fstn/web/app_dev.php/contact возвращает ошибку 404, но в dev_env страница контактов отображается правильно. Так что я пытаюсь отлаживать маршруты по: php app/console router:debug -e=prod и получаю это:

Name Method Scheme Host Path fstn_venice_homepage ANY ANY ANY / fstn_venice_contact ANY ANY ANY /contact

Я даже пытаюсь очистить кеш с помощью командной строки:

php .\app\console cache:clear --env=prod --no-debug, и он не отображает никаких ошибок, но не удается отобразить страницу контактов в рабочей среде. Как я могу решить эту проблему?

--edit--- Я нашел источник своей ошибки, на самом деле я должен использовать этот путь для работы в prod env:http://localhost/fstn/web/app.php/contact, но раньше я использовал http://localhost/fstn/web/contact для проверки.


person Dev DOS    schedule 08.04.2015    source источник


Ответы (2)


Сказав ядру, что вам нужна рабочая среда $kernel = new AppKernel('prod', true);, вы говорите ему запретить доступ к URL-адресу разработчика http://localhost/fstn/web/app_dev.php/contact.

Если вы хотите получить доступ к URL-адресу продукта, замените app_dev.php на app.php. Вы все еще можете позволить конфигурации ядра env для разработки и тестирования в среде prod. После каждого изменения не забывайте очищать кеш и chmod его ;)

person Thiryn    schedule 08.04.2015

Очистите кеш, все будет хорошо.

person Muhammad Ahmed    schedule 08.04.2015