Symfony2 переписать правила .htaccess app.php

Я загрузил свой проект symfony2 в серверную рощу. Основная страница загружается, но все ссылки не работают. Я попытался добавить app.php к веб-адресу. Он действительно работал, но:

У меня есть маршруты вроде этого:

www.something.com/app.php/something

Я хочу, чтобы они были:

www.something.com/something.

Я читал, и я должен поместить некоторые правила перезаписи на .htaccess.

Я нашел эти правила, но они, похоже, не работают:

 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.php [QSA,L]  

Попробуйте это в файле .htaccess (внутри веб-каталога):

  Options +FollowSymlinks RewriteEngine On # Explicitly disable rewriting for front controllers RewriteRule ^app_dev.php - [L] RewriteRule ^app.php - [L] RewriteCond %{REQUEST_FILENAME} !-f # Change below before deploying to production #RewriteRule ^(.*)$ /app.php [QSA,L] RewriteRule ^(.*)$ /app_dev.php [QSA,L]  

Чтобы улучшить ответ от whistlergreg, я добавил строку, чтобы папка пакетов не была сломана. Это позволит не нарушать внешние ресурсы, такие как изображения.

  Options +FollowSymlinks RewriteEngine On # Explicitly disable rewriting for front controllers RewriteRule ^/web/app_dev.php - [L] RewriteRule ^/web/app.php - [L] # Fix the bundles folder RewriteRule ^bundles/(.*)$ /web/bundles/$1 [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f # Change below before deploying to production #RewriteRule ^(.*)$ /web/app.php [QSA,L] RewriteRule ^(.*)$ /web/app_dev.php [QSA,L]  

У вас нет возможности переписать модуль. Этот код выполняется, если mod_rewrite.c включен. Вы должны включить mod_rewrite только в apache2. http://www.unixmen.com/how-to-enable-and-disable-apache-modules/

Например, в Ubuntu:

 sudo a2enmod rewrite sudo service apache2 restart 

Кроме того, … не забудьте раскомментировать (если прокомментировать) конфигурацию apache:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

Mac OS X

/private/etc/apache2/httpd.conf

Вы можете попробовать дать полный путь к вашим активам (полный URL). У меня была такая же проблема, когда я развернул свое первое приложение Symfony

Мой корневой каталог (папка public_html в большинстве случаев) .htaccess файл выглядит так:

 Options +FollowSymLinks +ExecCGI RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC] RewriteRule !^projectName/ /projectName/web/app.php/%{REQUEST_URI} [L,NC] 
  • Symfony CSRF и Ajax
  • Есть ли способ указать class реализации Doctrine2 Entitymanager в Symfony2?
  • Как просмотреть настройки конфигурации из Symfony2 config.yml?
  • Срок службы сеанса symfony2
  • Как автоматически отключить пользователей после периода бездействия?
  • Как использовать Ajax в формах администрирования Sonata?
  • Нет расширения, способного загрузить конфигурацию для «facebookbundle» symfony2
  • MySQL Нелегальное сочетание сортировок
  • Symfony2: Как получить ошибки проверки формы после привязки запроса к форме
  • Как получить IP-адрес пользователя в controllerе Symfony2?
  • Расширение Symfony2 DefaultAuthenticationSuccessHandler
  • Давайте будем гением компьютера.