У меня есть 3 приложения symfony2, 2 работает нормально, но третий работает только для страницы по умолчанию. Остальные маршруты вызывают ошибку 404. Окружающая среда: Ubunto 12.04 VirtualBox, apache 2, php 5.3.10, Mongobd.Ошибка 404 на Symfony2
Это де содержание ВХост:
<VirtualHost *:80>
DocumentRoot /home/adminuser/webs/servergrove/web
ServerName servergrove.local
ErrorLog /var/log/apache2/servergrove-error.log
CustomLog /var/log/apache2/servergrove-access.log combined
<Directory /home/adminuser/webs/servergrove/web>
AllowOverride All
</Directory>
</VirtualHost>
Это routing.yml:
homepage:
pattern:/
defaults: { _controller: SGLiveChatBundle:Default:index }
sglc_chat_homepage:
pattern: /sglivechat
defaults: { _controller: SGLiveChatBundle:Chat:index }
sglc_chat_invite:
pattern: /sglivechat/{sessId}/invite
defaults: { _controller: SGLiveChatBundle:Chat:invite }
... и так далее.
Следующая URL работает отлично: http://servergrove.local/
Следующая (и любой другой) не делает: http://servergrove.local/sglivechat
*Not Found
The requested URL /sglivechat was not found on this server.
Apache/2.2.22 (Ubuntu) Server at servergrove.local Port 80*
У меня очень мало опыта работы с Symfony. Я думаю, что это связано с механизмом перезаписи, но два других проекта работают нормально.
У меня есть что-то вроде этого в командной строке:
adminuser @ adminuser-VirtualBox-073n: ~/холсты/servergrove $ PHP приложение/консоли маршрутизатора: отладки
[router] Current routes
Name Method Pattern
homepage ANY /
sglc_admin_index GET /admin/sglivechat
prueba ANY /prueba
adminuser @ adminuser-VirtualBox-073n: ~/холсты/servergrove $ PHP приложение/консоли маршрутизатора: дамп-апаш
RewriteCond %{PATH_INFO} ^/$
RewriteRule .* app.php [QSA,L,E=_ROUTING__route:homepage,E=_ROUTING__controller:ServerGrove\SGLiveChatBundle\Controller\DefaultController::indexAction]
RewriteCond %{REQUEST_METHOD} ^(get) [NC]
RewriteCond %{PATH_INFO} ^/admin/sglivechat$
RewriteRule .* app.php [QSA,L,E=_ROUTING__route:sglc_admin_index,E=_ROUTING__controller:ServerGrove\SGLiveChatBundle\Controller\AdminController::indexAction]
RewriteCond %{PATH_INFO} ^/prueba$
RewriteRule .* app.php [QSA,L,E=_ROUTING__route:prueba,E=_ROUTING__controller:ServerGrove\SGLiveChatBundle\Controller\DefaultController::pruebaAction]
Любая идея, что может быть не так?
В начале appKernel.php я добавил: die ('aaaa') ;, если я просматриваю http: //servergrove.local/ Я вижу aaaa, но в любом другом url я вижу ту же ошибку 404 , –
Ваш '.htaccess' выглядит« ужасно »: - | Вы пытались восстановить его по умолчанию? –
Ваше приложение не пересматривает ваши маршруты, как вы можете видеть, когда вы запускаете команду 'php app/console router: debug'. Это может быть по разным причинам, но с информацией, которую вы нам даете, трудно понять. Единственное, что я могу вам сказать, это не проблема Apache, поскольку маршруты не сбрасываются. Не могли бы вы разместить файл 'routing.yml', расположенный в папке'/app/config'? –