2010-07-16 15 views
0

J'écrivais une application PHP (Kohana) et j'ai vu que les pages d'index du contrôleur pouvaient être vues avec & sans/index.Comment puis-je faire cela avec .htaccess

http://plugb.com/ & http://plugb.com/index

Afin d'éviter les contenus dupliqués, je l'ai fait:

$clean_url = str_replace('index','',$this->request->uri); 

if($clean_url !== $this->request->uri) 
{ 
$this->request->redirect($clean_url); 
} 

Je voudrais savoir comment faire la même chose, mais avec .htaccess.

Merci d'avance.

+0

Juste un nitpick, que 'str_replace()' devrait probablement être un 'preg_replace()' avec l'ancre '$'. Vous ne savez jamais quand vous pouvez avoir besoin de cette sous-chaîne dans votre URL. – alex

Répondre

2

Essayez cette règle:

RewriteRule ^index($|/(.*))$ /$2 [L,R=301] 

Cette règle enlèvera tout premier /index du chemin d'URL.

2

Non testé, mais je pense que cela devrait fonctionner:

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