Aller au contenu

URL Rewrite


Sujets conseillés

Bonjour à tous,

J'ai plusieurs dossier contenant environ 30 pages chacun, je souhaiterais virer toutes les pages sauf l'index du dossier.

Comme ces pages sont déjà référencées, je pense qu'il faut faire une redirection 301, je l'avais déjà fait à l'époque mais je ne me souviens plus trés bien.

RewriteRule ^annuaire-de-liens/index.php$ http://www.monsite.com/annuaire-de-liens/ [R=301]

A cette règle, je voudrais donc ajouter 2 autres dossiers :

telecharger et musique

Merci de votre aide !

Lien vers le commentaire
Partager sur d’autres sites

Salut Christophe,

Pas très claire ta demande (ou du moins ton exemple) ;)

Si tu as un index.php en première position de la directive DirectoryIndex, ta règle va boucler et donner une erreur 500.

Pourquoi veux-tu garder l'index des dossiers, alors que dans ton exemple tu tentes une réécriture de celui-ci ?

Quels sont tes dossiers et quel est le nom de domaine ?

Dan

Lien vers le commentaire
Partager sur d’autres sites

Oui lorsque j'ai voulu réecrire, j'ai eu des erreurs 500, ça fait peur :(

Pourquoi veux-tu garder l'index des dossiers, alors que dans ton exemple tu tentes une réécriture de celui-ci ?

Je ne souhaite pas spécialement garder l'index :wacko:

Comme ces pages sont trés similaires, je souhaite orienter le visiteur qui arriverait d'un moteur sur une nouvelle page.

Donc en gros, je veux bien carrément supprimer les dossiers musique et telecharger (même leur index respectif).

Je cherche donc LA solution qui permettrait à un lien du type :

w*w.monsite.com/telecharger/truc.html d'arriver sur une nouvelle page.

Je voulais que cette page soit du type :

w*w.monsite.com/telecharger/index.html pour simplifier tout cela mais si ce n'est pas possible je veux bien que tout le dossier pointe désormais vers l'index du site.

Lien vers le commentaire
Partager sur d’autres sites

Normal l'erreur 500, quand on redirige une page sur elle même, ça boucle à l'infini.

Et sans la protection interne d'Apache, tu mettrais le serveur à genoux avec une seule erreur comme celle là.

Donc je résume: tu veux que toutes les pages du dossier /telecharger/ se trouvent redirigées vers une seule et même page /telecharger/index.html ?

Attention si tu fais des redirections 301, vu que tu rediriges plusieurs pages vers une seule, le PR transmis ne s'additionnera pas. Aucune idée quant au PR qui sera retenu.

Si c'est bien ce que tu veux faire, crée un fichier .htaccess dans le répertoire /telecharger/ (vu que tu le gardes) et mets-y les lignes suivantes:

RewriteEngine On
RewriteRule index.html$ - [L]
RewriteRule (.*) http://www.tondomaine.tld/telecharger/index.html [R=301,L]

Fais la même chose pour chaque répertoire... en ne changeant que le nom du répertoire dans la règle.

Pour info: La raison pour laquelle je mets un fichier .htaccess dans le répertoire /telecharger/ et non à la racine est simple. Cela évite de faire une analyse de règle pour le moindre élément demandé à Apache. Seules les requêtes dans ce répertoire passent par la règle.

Dan

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...