2010-12-14 50 views
0

Comment supprimer le dernier répertoire si l'URL contient trois répertoiresmod_rewrite ignorer dernier répertoire si c'est le troisième répertoire

For example this url 
www.mysite.com/dir/removeMe 
would map to 
www.mysite.com/dir 

However 
www.mysite.com/dir 
would still map to 
www.mysite.com/dir 

Je suis en train d'utiliser des liens plus jolies au lieu de www.mysite.com/dir/? name = removeMe

Merci.

Répondre

0

Quelque chose comme cela devrait faire ce que vous voulez:

RewriteRule ^([^/]*)/([^/]+)$ /$1 

Vous pouvez également utiliser $2 dans la réécriture si vous souhaitez conserver le nom du répertoire dans un paramètre ou quelque chose. par exemple:

RewriteRule ^([^/]*)/([^/]+)$ /$1?foo=$2 

(A part. Je remarque que par 3 répertoires que vous voulez dire en fait 2. Cette première chose est le nom d'hôte, pas un répertoire)

+0

qui ne marche pas semble fonctionner. Je supprime d'abord le .php à la fin du fichier alors peut-être vous pouvez le montrer avec www.mysite.com/dir.php/removeMe et puis je peux essayer d'enlever le .php après que je suis capable de supprimer le dernier répertoire – Mike

+0

Peut-être que vous voulez quelque chose comme ça? 'RewriteRule^([^ /] *)/([^ /] *) $/$ 1.php' Qui supprime le répertoire de second niveau, et ajoute' .php' –

+0

J'ai créé ce que j'espère est une meilleure question ici http: //stackoverflow.com/questions/4453730/ignore-last-directory-if-it-is-the-second-directory-mod-rewrite – Mike