2010-09-23 7 views
0

Ma question peut ressembler à d'autres, mais il est différent que vous aurez se:CodeIgniter: Applications multiples, supprimer .php d'URL

J'ai 5 applications de CI en cours d'exécution avec le même dossier système, tel que décrit dans CI User Guide . Maintenant, je veux certains fichier .htaccess pour enlever tout le .php de l'URL, comme, comme par exemple: http://example.com/appName/controller/action au lieu de http://example.com/appName.php/controller/action (enlever la partie .php de l'url)

Puis-je faire cela? Je n'ai aucune expérience avec les fichiers .htaccess. En outre, je développe le site dans Windows 7 avec XAMPP, pour déployer le site sur un serveur LAMP.

Merci d'avance

Répondre

1

Essayez cette

RewriteEngine on 
RewriteBase/
# Hide the application and system directories by redirecting the request to index.php 
RewriteRule ^(application|system|\.svn) appName/$1 [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ appName.php/$1 [QSA,L] 
0

Vérifiez le manuel d'allumage du code. Il a un chapitre à cette fin http://codeigniter.com/user_guide/general/urls.html

Suppression du fichier index.php

Par défaut, le fichier index.php sera inclus dans vos URL: example.com/index.php/news/article/ my_article

Vous pouvez facilement supprimer ce fichier en utilisant un fichier .htaccess avec quelques règles simples. Voici un exemple d'un tel fichier, en utilisant la méthode "négative" dans laquelle tout est redirigé sauf les éléments spécifiés: RewriteEngine sur RewriteCond $ 1!^(Index.php | images | robots.txt) RewriteRule^(. * $ /index.php/$1 [L]

Dans l'exemple ci-dessus, toute requête HTTP autre que celles pour index.php, images et robots.txt est traitée comme une requête pour votre fichier index.php.

+0

ok, désolé si ma question était pas claire, mais ce que j'ai vraiment besoin, est de ne pas « rediriger » toute demande à un index.php, je dois « redirect » comme example.com/appName1.php/controller à example.com/appName1/controller et example.com/appName2.php/controller à example.com/appName2/controller, il suffit de supprimer le .php de la requête – josecortesp

+0

ok, vérifiez l'exemple parce qu'il offre une condition de réécriture à placer dans le htaccess où index.php est supprimé seulement, et tous les autres détails sont toujours dans l'URL. –

+0

pour être plus précis, index.php ou la façon dont vous le nommez à l'allumeur de code fera toujours partie de l'URL. Vous pouvez supprimer www.domain.com/app/index.php/news/article/my_article avec cette règle de réécriture index.php. –