Foros del Web » Programando para Internet » PHP » Zend »

Problemita con zend Router Regex

Estas en el tema de Problemita con zend Router Regex en el foro de Zend en Foros del Web. Hola chicos, primero que nada, gracias por su ayuda, ya que con ustedes, puedo pulir las dudas que me quedan en los tutoriales y manuales ...
  #1 (permalink)  
Antiguo 28/08/2008, 13:11
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 19 años, 6 meses
Puntos: 1
Problemita con zend Router Regex

Hola chicos, primero que nada, gracias por su ayuda, ya que con ustedes, puedo pulir las dudas que me quedan en los tutoriales y manuales que vengo estudiando.

Tengo el siguiente problema utilizando Zend Router y nose que es lo que puede ser, por ejemplo si pongo:

Código PHP:
$router->addRoute 'prueba3', new Zend_Controller_Router_Route_Regex 'archive/(\d+)/(.+)'

array (
'module' => 'frontend'
          
'controller' => 'index'
           
'action' => 'index' ) ) ); 
al ir a mi url por ejemplo :
html/archive/2006/cualquiercosa me funciona de maravillas, me carga el controlador configurado.

Pero ahora si en mi expresion regular le agrego el .html, es decir:

Código PHP:
'archive/(\d+)/(.+)\.html' 

No funciona. Ya no se que hacer para que funcione, nose si sera mi apache o algo, la verdad esto me sobrepaso, estoy perdido.

Que estoy haciendo mal???


Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 28/08/2008, 13:49
Avatar de pablofmorales  
Fecha de Ingreso: abril-2008
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 222
Antigüedad: 16 años, 8 meses
Puntos: 37
Respuesta: Problemita con zend Router Regex

El problema que tenes con los .html, es que tu .htaccess tiene que incluir dentro de las extensiones que no redireccionen al Front Controller el .html

RewriteEngine on
RewriteRule !\.(js|html|ico|gif|jpg|png|css)$ index.php
__________________
blog
  #3 (permalink)  
Antiguo 28/08/2008, 14:01
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: Problemita con zend Router Regex

hola, mira, eso tambien lo habia verificado y creo que lo tengo bien, este es mi htaccess:

Código PHP:
RewriteEngine on
"RewriteRule !\.(htm|html|pdf|php|js|ico|txt|gif|jpg|xml|png|css|rss|zip)$ index.php" 
Nota: las comillas son porque sino el foro me borra las barras invertidas''




y el codigo para los router es el siguiente:

Código PHP:
$router->addRoute 'prueba1', new Zend_Controller_Router_Route 'user/:username', array ('module' => 'frontend''controller' => 'index''action' => 'index' ) ) );
         
         
$router->addRoute 'prueba3', new Zend_Controller_Router_Route_Regex 'archive/(\d+)/(.+)\.html', array ('module' => 'frontend''controller' => 'index''action' => 'index' ) ) ); 
El segundo me da error 404. Alguna otra idea? me estoy volviendo loco.
  #4 (permalink)  
Antiguo 28/08/2008, 14:18
Avatar de pablofmorales  
Fecha de Ingreso: abril-2008
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 222
Antigüedad: 16 años, 8 meses
Puntos: 37
Respuesta: Problemita con zend Router Regex

el .html donde lo tenes?

si lo tenes en una carpeta aparte de appplication, podes agregar un htacces. con rewriteengin off
__________________
blog
  #5 (permalink)  
Antiguo 28/08/2008, 14:30
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: Problemita con zend Router Regex

Nose si entiendo tu pregunta.

el htacces lo tengo dentro de la carpeta llamada html. Este es mi arbol

- app
- layouts
- html
- library

y tengo un htaccess aca en el root (que lo que hace es cuando vas a mi host, se redirige al index.php que esta dentro de la carpeta html) y otro htaccess esta adentro de html (public o document root, ahi esta el bootstrap).

nose si me explique bien.

Te ubicas mas o menos?
  #6 (permalink)  
Antiguo 28/08/2008, 14:35
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: Problemita con zend Router Regex

mira encontre un error, nose por que, si al htacces le cambio
html

por

.html (punto y html)

me funciona.


Para mi esta halgo mal, o un "." demas en la regla del router, o nose. Pero no deberia funcionar asi, me parece.


Que opinas?
  #7 (permalink)  
Antiguo 28/08/2008, 15:31
Avatar de pablofmorales  
Fecha de Ingreso: abril-2008
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 222
Antigüedad: 16 años, 8 meses
Puntos: 37
Respuesta: Problemita con zend Router Regex

Si, masomenos.

agrega el .htaccess que te digo en la carpeta donde tenes los html.
__________________
blog
  #8 (permalink)  
Antiguo 28/08/2008, 18:25
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: Problemita con zend Router Regex

mira, la agregue, pero si mi httacess dice:RewriteEngine on

Código PHP:
"RewriteRule !\.(htm|html|pdf|php|js|ico|txt|gif|jpg|xml|png|css|rss|zip)$ index.php" 
mi url no funciona, peri si le pongo


Código PHP:
"RewriteRule !\.(htm|.html|pdf|php|js|ico|txt|gif|jpg|xml|png|css|rss|zip)$ index.php" 
si funciona. Alguno lo probo? es un BUG??
  #9 (permalink)  
Antiguo 28/08/2008, 18:30
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: Problemita con zend Router Regex

pablo, es asi, mira, cuando le agregue el . al html en la regla del htaccess, funciono porque .html y html no es lo mismo.

La regla del htacces lo interpreta como algo que no tiene que pasar por index.php.

Entonces HAY QUE BORRAR EL HTML dentro del parentesis.

Me ha ayudado un cologa de otro foro. Un abrazo y espero que les sirva.
  #10 (permalink)  
Antiguo 28/08/2008, 19:59
Avatar de pablofmorales  
Fecha de Ingreso: abril-2008
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 222
Antigüedad: 16 años, 8 meses
Puntos: 37
Respuesta: Problemita con zend Router Regex

Si lo pudiste solucionar perfecto.

Igual te cuento que en un sistema web, generalmente tenes una parte publica (webroot), y partes no accesibles.

Tu .htaccess estaba perfectamente dentro del webroot. el problema es si vos queres leer html afuera del .htaccess, si queres leerlo hacia adentro solo tenes que pisar la regla creando un .htaccess solamente con la linea

rewirteEngine off.

Slaudos.
__________________
blog
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:49.