Actualización:
Para versiones posteriores el proceso es el mismo salvo que no se cambia el valor de SF_ROOT_DIR, sino que esta linea:
require_once(dirname(__FILE__).’/../config/ProjectConfiguration.class.php’);
En la documentación de symfony (1.0) aparece en el capitulo de routing lo siguiente:
SUGERENCIA Existe una forma de acceder a más de una aplicación sin indicar el nombre del script. Para ello, se crean subdirectorios en el directorio web/ y se mueven los controladores frontales a cada subdirectorio. Después, se modifica el valor de las constantes SF_ROOT_DIR para cada uno de ellos y se crea el archivo .htaccess de configuración para cada aplicación.
La verdad es que esto ayuda poco, al menos eso pienso yo, aquí les dejo los pasos necesarios para lograrlo en symfony 1.0
- Crear en el directorio web/ (u otro si es que lo cambiaste), el directorio que quieras usar, en este caso deseo que la aplicación administrativa cuyo contralador es backend.php sea accesible desde http://pagina.cl/admin en vez de http://pagina.cl/backend.php
- Mover el controlador al directorio creado
- Editar el valor de SF_ROOT_DIR
por
- Crear el archivo .htaccess con el siguiente contenido (ojo con las comillas “” que se cambian y no funcionan ):
<IfModule mod_rewrite.c>
RewriteEngine On
# we skip all files with .something
RewriteCond %{REQUEST_URI} \..+$
RewriteCond %{REQUEST_URI} !\.html$
RewriteRule .* – [L]
# we check if the .html version is here (caching)
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
# no, so we redirect to our front web controller
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
# big crash from our front web controller
ErrorDocument 500 “<h2>Application error</h2>symfony application failed to start properly”
- Editar el archivo apps/backend/config/settings.yml, y editar el contenido
por
- Limpiar la cache y crear los enlaces simbólicos en el directorio creado
- Disfrutar =D