2011-04-17 31 views
5

Por alguna razón no puedo detectar, redirigir en codeigniter no funciona. Obtendré la pantalla blanca de la muerte.codeigniter redirect not working

puedo tener un "test" controlador:

class Test extends Controller { 
    function Test() { 
     parent::Controller(); 
     $this->load->helper('url'); 
    } 

    function index() { 
     redirect('home','refresh'); 

    } 
} 

(que he probado la ubicación y refrescar parámetros, sin ayuda).

Aquí está mi archivo .htaccess:

DirectoryIndex index.php 
RewriteEngine on 
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA] 

He usado todo esto antes con buenos resultados. ¿Algo más que pueda verificar?

Gracias.

John

+3

Una buena manera de comenzar es habilitar todos los mensajes de depuración e información en 'config.php', establecer el umbral de registro en 4, eliminar el archivo de registro de hoy si existe y ejecutar el script. Puede encontrar información valiosa en el archivo de registro. Además, para estar seguro, asegúrese de que puede acceder a la prueba/índice normalmente (intente hacer eco de algo). –

+0

¿Cuál/dónde es su controlador 'home'? – Ross

+0

Madmartigan, voy a intentar lo que sugieres. ¡Gracias! –

Respuesta

8

Al final resultó que establecer el umbral de registro en 4 fue la respuesta para resolver esto. Pude determinar que estaba generando algo de espacio, lo que impidió que la redirección funcionara. Mirar en los registros reveló esto.

Gracias a todos por su ayuda, y gracias Madmartigan por sugerir la configuración de registro.

1

Probar Agregar? al final de index.php en su última regla de reescritura como tal:

RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA]

Si eso no funciona, trate de cambiar su $config['uri_protocol'] (si está configurado para AUTO) a:

$config['uri_protocol'] = 'REQUEST_URI';