2010-07-20 7 views
5

Je suis en train d'utiliser Codeigniter OpenID library et tout fonctionne très bien avec la configuration par défaut de CI sans .htaccess.CodeIgniter, OpenID et .htaccess

Lorsque je supprime index.php en changeant config.php et je me .htaccess404 Page Not Found lorsque je tente de vérifier mon openid (http://ci.dlsb.eu/test/)

Quelqu'un peut-il me dire où je me trompe?

config.php

$config['index_page'] = ""; 

.htaccess

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

Répondre

5

Vos RewriteRule tentatives de créer PATH_INFO dans un contexte par répertoire, qui, de ce que je peux dire, se produit aussi en retard dans la phase de traitement des demandes pour fonctionner correctement.

La meilleure solution est de tout simplement pas le faire, comme CodeIgniter ne nécessite pas de fonctionner:

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

CodeIgniter devrait être en mesure de comprendre ce que la demande appropriée était lui-même, à condition que vous gauche $config['uri_protocol'] définie sur AUTO. Si ce n'est pas le cas, vous devez le définir sur AUTO ou sur REQUEST_URI.

+0

Ok, j'ai corrigé mon .htaccess, $ config ['uri_protocol'] est défini sur REQUEST_URI, mais j'ai toujours la même erreur ... –

+1

Oui, j'ai peut-être été un peu hors-base. C'est parce que l'URL à laquelle le formulaire est soumis n'a pas de barre oblique, donc le routage de CodeIgniter échoue d'une manière ou d'une autre. Je vais vérifier pour voir pourquoi cela pourrait être et vous faire savoir comment vous pouvez le réparer. –

+1

Quand je mets $ config ['url_suffix'] = "/"; tout fonctionne bien. Merci Tim! –