.htaccess - htaccess - symfony rewrite
reglas de reescritura de symfony2.htaccess app.php (5)
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
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:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
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
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.
<IfModule mod_rewrite.c>
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]
</IfModule>
Pruebe esto en su archivo .htaccess (dentro del directorio web):
<IfModule mod_rewrite.c>
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]
</IfModule>
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]