Итак, я пытаюсь добавить контроллер 404, если изображение отсутствует, и мне нужно пойти и получить его.Symfony 2 404 Пользовательская страница для недостающего ресурса
Первоначально я попробовал прослушиватель NotFoundHttpException/ResourceNotFoundException, который загрузил класс, чтобы справиться с ним. Это отлично работает, если это проблема с маршрутизацией Symfony2.
Проблема в том, что это не так. Это файл /web/bundles/mysite/images/missingimage.jpg 404, который, как представляется, обрабатывается Apache.
Так с .htaccess я попробовал:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]
RewriteRule .? %{ENV:BASE}/app.php [L]
ErrorDocument 404 /web/404.txt
</IfModule>
Просто, чтобы увидеть, если я мог бы получить, чтобы работать, но я чувствую, что не будет и не было.
Итак, как я могу настроить свою настройку на страницу Symfony2, когда она встречает 404 в папке/web.
Я предполагаю, что это должно быть .htaccess, но я не очень хорошо смотрю.
В конце концов, я хочу, чтобы перейти к:
/web/app.php/FourZeroFourHandler/web/bundles/mysite/images/missingimage.jpg
или:
/web/app_dev.php/FourZeroFourHandler/web/bundles/mysite/images/missingimage.jpg
В зависимости от того, буду ли я в прод или разработчика.
И идеи?
Вы видели: http://symfony.com/doc/current/cookbook/controller/error_pages.html # customizing-the-404-pages-and-other-error-pages – cheesemacfly
К сожалению, Symfony 404 не бросается. Изображения находятся за пределами маршрутизации Symfony2, поэтому не генерирует исключение NotFoundHttpException. Он обходит Symfony 2 все вместе, и единственное, что знает о 404, - это Apache. Именно поэтому я пытаюсь заставить Apache перейти к определенному URL-адресу маршрутизации, если удалено 404. – Adi