Version complète: sur le forum Webmaster Hub : Redirection après rewriting et modif du nom d'un répertoire
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
Dax
Bonjour à tous,
voilà je viens de mettre en place le rewriting sur les pages importantes de mon site et maintenant j'aimerai savoir comment indiquer aux robots les nouvelles url et non plus les anciennes car sinon il y aura des doublons et c'est pas bon. J'ai lu différentes choses et j'aimerai avoir vos avis.

Si je crée un htaccess avec ceci dedans et que je l'installe à la racine de mon site (sachant que mon script d'annonces est dans un dossier), cela va-t-il bien indiquer aux moteurs les nouvelles url ?
Code:
RewriteCond %{HTTP_HOST} !^www\.mon-domaine\.com\dossier
RewriteRule (.*) http://www.mon-domaine.com/dossier/$1 [R=301,L]

J'ai lu que si j'ajoutais les trois dernières lignes de code au bas de mon htaccess (celui utilisé pour le rewriting), cela résoudrait le petit problème qui est que l'on peut accéder à la page d'acceuil de mon site en tapant directement -http://www.mon-domaine.com/dossier et -http://www.mon-domaine.com/dossier/index.php . Est-ce bien exact ?
CODE
RewriteEngine On
RewriteRule ^ad_([0-9]+)_(.*).html detail.php?id=$1
RewriteRule ^cat_([0-9]+)_(.*).html index.php?catid=$1
RewriteRule ^user_([0-9]+)_(.*).html user_info.php?user_id=$1
RewriteRule ^ratemember_([0-9]+)_(.*).html rate_member.php?user_id=$1
RewriteRule ^contact_([0-9]+)_([0-9]+)_(.*).html detail.php?id=$1&user_id=$2&contact=1
RewriteRule ^rate_([0-9]+).html rate.php?id=$1
RewriteRule ^largepicture_([0-9]+).html large_picture.php?id=$1
RewriteRule ^tellafriend_([0-9]+).html detail.php?id=$1&tellafriend=1
RewriteRule ^print_([0-9]+).html detail.php?id=$1&print=1
RewriteRule ^removefav_([0-9]+).html fav_popup.php?remove_fav=$1
RewriteRule ^addfav_([0-9]+).html fav_popup.php?add_fav=$1
RewriteRule ^trm_(.*).html info.php?what=terms
RewriteRule ^ab_(.*).html info.php?what=aboutus
RewriteRule ^adv_(.*).html info.php?what=advertise
RewriteRule ^hlp_(.*).html info.php?what=help
RewriteRule ^rss_([0-9]+).html detail.php?id=$1

Options +FollowSymLinks
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.domaine.com/dossier/$1 [R=301,L]


Voilà maintenant mon autre question qui porte sur le changement de nom du répertoire où j'ai mon script.
Il est actuellement dans le dossier www.mon-domaine.com/mon_ancien_dossier/ et je veux le renommer www.mon-domaine.com/mon-nouveau-dossier/
Que dois-je indiquer dans le htaccess ? dois-je en créer un autre et le placer à la racine du site et non dans le dossier du script, ou bien uitliser celui du rewriting ?

Merci d'avance pour vos indications .
Dax
Est-ce que ce code est correct pour le problème du nom de répertoire, pourquoi y-a-t'il un .tld ? on peut mettre .com ?

RedirectPermanent /mon_ancien_dossier http://www.mon-domaine.tld/mon-nouveau-dossier/
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.