que he hecho una primera instalación de Symfony2,¿Cómo me deshago de la necesidad de "/app.php/" en la nueva URL de producción de la aplicación Symfony2?
php app/console --version
Symfony version 2.0.11 - app/dev/debug
He instalado bajo un DocumentRoot existente mediante la configuración de mi servidor host virtual apache2
<VirtualHost 127.0.0.1:80>
...
DocumentRoot /srv/www/localhost_www
...
<Directory "/srv/www/localhost_www" >
AllowOverride none
Options -ExecCGI +FollowSymLinks +Includes +Indexes +MultiViews
Order Allow,Deny
Allow from All
</Directory>
...
Alias /TESTAPP "/srv/www/TESTAPP/web/"
<Directory "/srv/www/TESTAPP/web/">
Options All
AllowOverride All
Allow from All
</Directory>
Alias /TESTAPP.symfony "/srv/www/TESTAPP/"
<Directory "/srv/www/TESTAPP/">
Options All
AllowOverride All
Allow from All
</Directory>
...
Después de un bien instalar, y con éxito después de "El Libro "para construir la maqueta 'Hola' de la aplicación, si NAV en un navegador para cualquier/todos,
dev:
http://localhost/TESTAPP.symfony/web/app_dev.php/hello/ME
http://localhost/TESTAPP/app_dev.php/hello/ME
prod:
http://localhost/TESTAPP.symfony/web/app.php/hello/ME
http://localhost/TESTAPP/app.php/hello/ME
veo la esperada,
"Hello ME!"
Quiero volver a escribir solamente las direcciones URL de producción, ocultando "app.php" para que el siguiente conjunto de direcciones URL funciona en la barra de navegación de un navegador para mi aplicación Symfony2:
dev:
http://localhost/TESTAPP.symfony/web/app_dev.php/hello/ME
http://localhost/TESTAPP/app_dev.php/hello/ME
prod:
!! http://localhost/TESTAPP.symfony/web/hello/ME
!! http://localhost/TESTAPP/hello/ME
IIUC , el predeterminado web/.htaccess
cat web/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
necesita cambiar.
Yo he cavado alrededor en la documentación y en la web, intentado recomendaciones vdiffferent para modding la RewriteRule, añadiendo 'RedirectMatch permanente', etc., y no estoy gestión para obtener un simple
http://localhost/TESTAPP/hello/ME
para que funcione. Siempre parece necesitar agregar "/app.php/".
¿Cuáles son los cambios específicos que tendría que hacer para que esto funcione?
Gracias.
@chasen
está habilitado el mod_rewrite de Apache?
sí
si tienes tu archivo .htaccess en su directorio web
hago
y alojar el archivo que apunta a la carpeta web del
es, como el anterior, no se necesita el
Alias /TESTAPP "/srv/www/TESTAPP/web/"
<Directory "/srv/www/TESTAPP/web/">
app.php.
ese es mi problema. sin eso, no funciona para mí.
Específicamente,
https://localhost/TESTAPP/app.php/hello/ME
devuelve:
"¡Hola Me"
pero
https://localhost/TESTAPP/hello/ME
vuelve
Object not found!
The requested URL was not found on this server.
If you entered the URL manually please check your
spelling and try again.
If you think this is a server error, please contact
the webmaster.
Error 404
ver la respuesta anterior en OP –
He actualizado mi respuesta con algo nuevo para probar. – chasen
Sí, es una página de Symfony. He eliminado varias veces las memorias caché de prod y dev, me he asegurado de que la memoria caché del navegador esté desactivada, reinicie apache, incluso reinicie el servidor, por las dudas. Como se informó, la URL sin-app.php falla sistemáticamente. –