2010-07-20 27 views
5

Estoy tratando de usar Codeigniter OpenID library y todo funciona bien con la configuración predeterminada de CI sin .htaccess.Codeigniter, OpenID y .htaccess

Cuando quito index.php cambiando config.php y .htaccess consigo 404 Página no encontrada cuando intento verificar mi openid (http://ci.dlsb.eu/test/)

Puede alguien decirme dónde estoy equivocado?

config.php

$config['index_page'] = ""; 

.htaccess

RewriteEngine on 
RewriteBase/
RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L] 

Respuesta

5

Sus RewriteRule intentos de crear PATH_INFO en un contexto por directorio, el cual, a partir de lo que puedo decir, se produce demasiado al final de la fase de procesamiento de solicitud para que funcione correctamente.

La mejor solución es simplemente no hacer esto, como CodeIgniter no lo requiere para funcionar:

RewriteEngine on 
RewriteBase/
RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteRule ^(.*)$ /index.php 

CodeIgniter debe ser capaz de averiguar lo que la solicitud fue adecuado por su cuenta, siempre que se left $config['uri_protocol'] establecido en AUTO. De lo contrario, debe configurarlo en AUTO o en REQUEST_URI.

+0

Ok, he arreglado mi .htaccess, $ config ['uri_protocol'] está configurado en REQUEST_URI, pero sigo teniendo el mismo error ... –

+1

Sí, puede que haya estado un poco fuera de lugar. Es porque la URL a la que se envía el formulario no tiene una barra inclinada, por lo que el enrutamiento de CodeIgniter está fallando de alguna manera. Verificaré por qué podría ser así y le diré cómo puede solucionarlo. –

+1

Cuando configuro $ config ['url_suffix'] = "/"; todo funciona bien Gracias Tim! –