reglas de reescritura de symfony2 .htaccess app.php

Cargué mi proyecto symfony2 al servidor grove. La página principal se carga, pero todos los enlaces están rotos. Intenté agregar app.php a la dirección web. Funcionó, pero:

Tengo rutas como esta:

www.something.com/app.php/something

Quiero que sean:

www.something.com/something.

Estuve leyendo, y debería poner algunas reglas de reescritura en el .htaccess.

Encontré estas reglas, pero no parecen funcionar:

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

Pruebe esto en su archivo .htaccess (dentro del directorio web):

  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]  

Para mejorar la respuesta de whistlergreg, agregué una línea para que la carpeta de paquetes no esté rota. Esto asegurará que los recursos externos, como las imágenes, no se rompan.

  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]  

No tiene habilitado el módulo de reescritura. Este código se ejecuta si mod_rewrite.c está habilitado. Solo debe habilitar mod_rewrite en apache2. http://www.unixmen.com/how-to-enable-and-disable-apache-modules/

Por ejemplo en Ubuntu:

 sudo a2enmod rewrite sudo service apache2 restart 

Además, … recuerde descomentar (si se comenta) la configuración de apache:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

Mac OS X

/private/etc/apache2/httpd.conf

Puede intentar dar la ruta completa a sus activos (url completo). Tuve el mismo problema cuando implementé mi primera aplicación Symfony

Mi directorio raíz (carpeta public_html en la mayoría de los casos) .htaccess file se parece a esto

 Options +FollowSymLinks +ExecCGI RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC] RewriteRule !^projectName/ /projectName/web/app.php/%{REQUEST_URI} [L,NC]