2009-07-08 9 views
1

Je veux faire un simple re écriremod rewrite/iran/iran/à/iran/

de

http://www.example.com/iran/iran/province/Yazd

à

http://www.example.com/iran/province/Yazd

Ceci est un CodeIgniter application que j'ai mis dans le dossier 'iran'. Le nom de la classe est l'Iran, c'est pourquoi il y a 2 'iran' l'un après l'autre. J'ai réussi à enlever mon CodeIgniter « index.php » de l'URL avec rewrite

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

Répondre

3

Je suppose que vous utilisez cette règle dans le fichier .htaccess dans la racine de votre document. Si oui, essayez ces règles:

RewriteRule ^iran/(iran/.*) /$1 [L,R=301] 

RewriteCond %{REQUEST_URI} !^/iran/index\.php 
RewriteRule ^iran/(.*) iran/index.php?%{REQUEST_URI} [L] 

La première consiste à rediriger /iran/iran/foo à l'extérieur /iran/foo. Et le second est de passer toute demande de /iran/foo en interne à /iran/index.php?/iran/foo.

4

Essayez d'ajouter un RewriteBase au .htaccess dans votre dossier iran.

RewriteBase /iran 

Remplacez ensuite votre Réécrire

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

originale Réponse:

RewriteEngine on 
RewriteRule ^/iran/iran/(.*)$ /iran/$1 [L] 
+1

Si c'est dans un fichier .htaccess, remplacez "^ /" par "^" – Greg