114 votes

Comment faire pour supprimer « index.php » dans codeigniter ' chemin de s

Comment puis-je supprimer le coller dans chaque chemin d’accès dans codeigniter quelque part dans le centre ? Je veux nettoyer non ?

89voto

Sean Vieira Points 47080

Si vous utilisez lieu Apache un fichier .htaccess dans le répertoire web racine contenant ce qui suit :

Une autre bonne version se trouve ici :

http://Snipplr.com/View/5966/CodeIgniter-htaccess/

60voto

jimbo2087 Points 568

J'ai eu des gros problèmes avec la suppression de la index.php. En règle générale, la .htaccess ci-dessous a été testé sur plusieurs serveurs et généralement cela fonctionne:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]  

<Files "index.php">
AcceptPathInfo On
</Files>  

Si vous n'avez pas de chance avec ça, alors la prochaine étape consiste à ajuster votre fichier de configuration. Essayez quelques-uns des autres URI protocoles par exemple

| 'AUTO'            Default - auto detects
| 'PATH_INFO'       Uses the PATH_INFO
| 'QUERY_STRING'    Uses the QUERY_STRING
| 'REQUEST_URI'     Uses the REQUEST_URI
| 'ORIG_PATH_INFO'  Uses the ORIG_PATH_INFO

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

Si vos n'ayant toujours pas de la chance, essayez de changer la règle de réécriture d'inclure votre sous-dossier. C'est souvent un problème si vous utilisez une URL temporaire sur un serveur de dev, etc:

RewriteRule ^(.*)$ /subofolder1/subfolder2/index.php/$1 [L]  

Jouer avec ces options, il faut travailler. Aussi, assurez-vous que votre fichier d'index est fixé à:

$config['index_page'] = '';

Bonne chance!

31voto

MDeSilva Points 1067

Avoir le.htaccess dans le répertoire racine de l'application, ainsi que les index.php fichier. (Vérifier si le htaccess extension est correcte , Bz htaccess.txt ne fonctionne pas pour moi.)

Et Ajouter les règles suivantes .fichier htaccess,

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]  

Ensuite, trouver la ligne suivante dans votre application/config/config.php fichier

$config['index_page'] = 'index.php';

Définir la variable est vide comme ci-dessous.

$config['index_page'] = '';

Ça y est, il a travaillé pour moi.

Si cela ne fonctionne pas encore essayer de remplacer la variable suivant avec ces paramètres ('AUTO', 'PATH_INFO', 'QUERY_STRING', 'REQUEST_URI', et 'ORIG_PATH_INFO'), un par un

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

21voto

Re0sless Points 5356

Jetez un oeil la du dossier, il y a une variable nommée

Il devrait ressembler à ceci

qu’elle prenne

Puis comme mentionné vous devrez également ajouter une règle de réécriture à la `` fichier

Remarque : CodeIgniter v2 ce fichier a été déplacé hors du dossier système à``

9voto

waqas Points 376

Toutes ces méthodes n’a pas pour moi et puis j’ai trouvé que je ne changeais AllowOverride None à AllowOverride All dans mon fichier hôte virtuel à /etc/apache2/sites-available/default

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X