2010-05-31 7 views
0

Je peux seulement trouver des exemples/tutoriels de réécriture mod pour les requêtes, donc quelqu'un peut m'aider avec cela.mod réécrit répertoire raccourcir

Je voudrais que cette

http://website.tld/Folder1/Folder2/Folder3/Folder4/Folder5/File.exten 

à transformer en

http://website.tld/Folder4/File.exten 

Folder4 et Folder5 sont plusieurs répertoires, tandis que le dossier 1-3 restent les mêmes. File.exten doit également être modifiable dans la réécriture. merci.

+0

Si l'utilisateur ne demande que /Folder4/File.exten, comment allez-vous comprendre la valeur de Folder5? – grossvogel

+0

Je dirais que le dossier est toujours le même. Si ce n'est pas le cas, il y aura une regex beaucoup plus complexe pour sélectionner cette structure. – 2ndkauboy

Répondre

1

Je voudrais utiliser quelque chose comme ceci:

RewriteRule ^([^/]+)/([^/]+)$ Folder1/Folder2/Folder3/$1/Folder5/$2 [QSA,NC] 

([^/]+) est mieux depuis ^(.*)/(.*)$ sélectionnne http://website.tld/somedir/somedir2/somedir3/

1

Cela devrait fonctionner:

RewriteRule ^(.*)/(.*)$ Folder1/Folder2/Folder3/$1/Folder5/$2 [QSA,NC] 
+0

Si "Folder5" n'est pas toujours dans le chemin du fichier de réécriture, vous pouvez l'omettre. La réécriture sera alors toujours en mesure de vous trouver dans ce dossier, tant que vous utilisez quelque chose comme "Folder4/Folder5" dans la requête. Donc j'ai utilisé (. *) Et non ([^ /] +) dans mon regex. – 2ndkauboy