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

zend framework mod rewrite

Estas en el tema de zend framework mod rewrite en el foro de Zend en Foros del Web. Hola, tengo un nuevo contratiempo con el zend framework. Mi problema es que no me redirige el trafico al index.php cuando debiera. Creo que es ...
  #1 (permalink)  
Antiguo 28/01/2009, 13:16
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
zend framework mod rewrite

Hola, tengo un nuevo contratiempo con el zend framework. Mi problema es que no me redirige el trafico al index.php cuando debiera. Creo que es por la estructura de directorios que la he cambiado un poco:
Código PHP:
/ZendFrameworkQuickstart
/ZendFrameworkQuickstart/index.php (redirect to public/index.php)
/
ZendFrameworkQuickstart/application
/ZendFrameworkQuickstart/public
/
ZendFrameworkQuickstart/public/index.php
/ZendFrameworkQuickstart/public/.htaccess
/library/Zend 
El htacces está así (es lo que viene en el tutorial):
Código PHP:
RewriteEngine On
RewriteCond 
%{REQUEST_FILENAME} -[OR]
RewriteCond %{REQUEST_FILENAME} -[OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule 
^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L
El mod_rewrite está activado (comprobado en otros proyectos y en el phpinfo.

El bootstrap.php empieza así:
Código PHP:
<?php
// APPLICATION CONSTANTS - Set the constants to use in this application.
// These constants are accessible throughout the application, even in ini 
// files. We optionally set APPLICATION_PATH here in case our entry point 
// isn't index.php (e.g., if required from our test suite or a script).
defined('APPLICATION_PATH')
    or 
define('APPLICATION_PATH'dirname(__FILE__));

defined('APPLICATION_ENVIRONMENT')
    or 
define('APPLICATION_ENVIRONMENT''development');

// FRONT CONTROLLER - Get the front controller.
// The Zend_Front_Controller class implements the Singleton pattern, which is a
// design pattern used to ensure there is only one instance of
// Zend_Front_Controller created on each request.
$frontController Zend_Controller_Front::getInstance();

// CONTROLLER DIRECTORY SETUP - Point the front controller to your action
// controller directory.
$frontController->setControllerDirectory(APPLICATION_PATH '/controllers');
Any help?
  #2 (permalink)  
Antiguo 28/01/2009, 13:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: zend framework mod rewrite

Mmm creo el problema esta en:

RewriteRule ^.*$ /index.php [NC,L]

Te esta redirigiendo a /index.php, si tienes uno en la raiz de tu webroot es el que va a usar, prueba usar la directiva RewriteBase para especificar el directorio o quita el slash / al frente de index para que busque en la carpeta.

Saludos
  #3 (permalink)  
Antiguo 28/01/2009, 14:40
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: zend framework mod rewrite

Mmm, sí pero no. Me explico.

Al quitar el slash delante del index.php
Código:
RewriteRule ^.*$ index.php [NC,L]
me ha funcionado lo de poner /index o /index/index

Lo que no me carga bien es el css que está alojado en /public/css/global/css. El código es:
Código HTML:
<link type="text/css" rel="stylesheet" media="screen" href="/css/global.css"> 
y en el firebug, pestaña Net, veo esto:

http://localhost/css/global.css 404 Not found

cuando debería ser:

http://localhost/ZendFrameworkQuicks...css/global.css

Me he fijado que en el layout no se pone el tag base. Tag que yo siempre pongo en mi framework. ¿No es necesario?
  #4 (permalink)  
Antiguo 28/01/2009, 14:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: zend framework mod rewrite

De hecho si es necesario ya que como puedes ver, el archivo al que hace referencia no existe, por eso es que necesitas el tag de base para decirle a tu html cual es la base.

Saludos
  #5 (permalink)  
Antiguo 28/01/2009, 14:58
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Respuesta: zend framework mod rewrite

Sugerencia, ¿por qué no pruebas algún sistema que sepas que anda y luego verificas si lo que tú estás haciendo hace algo incorrecto?

Te paso un ejemplo de un proyecto que ya tengo armado:

PD: sorry la "auto-publicidad", pero me empiezo a aburrir de preguntas repetidas que se pueden resolver aprendiendo de ejemplos existentes que funcionan. Lo ideal es estandarizar, probar algo que anda y luego hacer pruebas, en caso de fallas puntuales (y no poder resolverlo en un tiempo prudencial), preguntar al foro.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
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 18:53.