Problema con el enrutamiento, el url_for o vaya a saber que cosa

29 views
Skip to first unread message

Gabriel

unread,
Sep 25, 2010, 2:26:36 PM9/25/10
to symfony-es
buenas a todos, tengo un problema que me ha desconcertado bastante y
es por eso que les pido ayuda.
El problema es el siguiente, tengo una pagina en la que he agregado
unos form para hacer unas búsquedas, estos tiene la siguiente
codificación:
<form action="<?php echo url_for('consultasMedicasSolicitadas/index')?
>" method="get">

y anda, no tengo problemas . El problema surge cuando con siguiente
link y en todos los demás links que crea symfony

<a href="<?php echo url_for('pacientes/new')?>">Agregar un Nuevo
Paciente </a>

en este caso me aparece el querido codigo 404
Not Found
The requested URL /pacientes/new was not found on this server.

Todo este código está en el modulo consultasMedicasSolicitadas.
Les doy mas datos, verifiqué en el código fuente de la pagina sobre el
navegador, y en el primer caso (el form)
la resolución de la ruta que hace el helper url_for es simplemente
"/", lo cual estaría bien por que en el archivo routing esta
configurado que cuando apareca "/" ejecute el modulo
"consultasMedicasSolicitadas", en el segundo caso (el de pacientes/
new) sale lo siguiente:
<td><a href="/pacientes/new">Agregar un Nuevo Paciente </a></td>
y en este caso no funciona y es cuando me aparece el 404.

La forma de que hacer que funcione es modificando el código de la
siguiente manera:
<a href="<?php echo url_for('frontend_dev/pacientes/new')?>">Agregar
un Nuevo Paciente </a>

si miramos el codigo fuente generado (sobre el navegador), resuelve
los siguiente:
<td><a href="/frontend_dev/pacientes">Agregar un Nuevo Paciente </a></
td>

como verán el helper le ha sacado el "new" (no se porque) , En este
caso funciona xq le estoy dando toda la ruta (eso creo).

Esto es lo que tengo en el archivo routing.yml:
homepage:
url: /
param: { module: consultasMedicasSolicitadas, action: index }
default_index:
url: /:module
param: { action: index }
default:
url: /:module/:action/*

Estoy usando symfony 1.4, apache 2 y ubuntu 10

Espero haberme sabido explicar, desde ya muchas gracias!

Gabriel

unread,
Sep 27, 2010, 11:28:49 AM9/27/10
to symfony-es
creo haber resuelto es tema y el problema lo encontré en la
configuración de apache:
Le agregue DirectoryIndex y le desabilite las opciones que están
comentadas:

Les paso con quedó la configuración:
<VirtualHost *:80>
DocumentRoot /home/gabriel/NetBeansProjects/florence-turnos/web
DirectoryIndex index.php
<Directory /home/gabriel/NetBeansProjects/florence-turnos/web>
#Options Indexes FollowSymLinks MultiViews
#AllowOverride None
AllowOverride All
#Order allow,deny
Allow from All
</Directory>
Alias /sf /home/gabriel/symfony/data/web/sf
<Directory /home/gabriel/symfony/data/web/sf>
AllowOverride None
Allow from All
</Directory>


Saludos
Reply all
Reply to author
Forward
0 new messages