Bonjour à tous,
je vous explique donc précisément la problématique :
-j'ai un site http://www.monsite.fr
-Mon nom de domaine pointe sur le dossier monsite sur mon serveur linux mutualisé de chez godaddy (tous les fichiers et dossiers relatifs à mon site web se trouvent dans ce dossier)
-Dans ce dossier j'y est créé mon fichier .htacess
-Voici l'url que j'avais avant : http://www.monsite.fr/mot1-mot2-en.php?action=mot3&numero=10alias=toto
je souhaitais la réécrire de cette façon : http://www.monsite.fr/10-unmot-unautremot-tot et cela de façon dynamique.
-J'ai donc créé cette règle dans mon .htacess :
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([0-9]+)-unmot-unautremot-(.*)$ /mot1-mot2-en.php?action=mot3&numero=$1&alias=$2 [L]
-Ensuite j'ai modifié tous les anciens liens dans mes pages :
mot1-mot2.php?action=mot3&numero=<?php echo $data['variable1'];?>&alias=<?php echo $data['variable2'];?>
en
<?php echo $data['variable1'];?>-unmot-unautremot-<?php echo $data['variable2'];?>
-Et ça fonctionne bien donc jusqu'ici tous va bien du moins je pense :?
-Lorsque je clique sur un nouveau lien du type : <?php echo $data['variable1'];?>-unmot-unautremot-<?php echo $data['variable2'];?> je me dirige bien vers la bonne page et l'url dans la barre d'adresse est au bon format (nouveau format) donc la réécriture fonctionne.
Maintenant j'aurais voulu mettre en place une redirection 301 pour éviter le duplicate content... donc j'ai essayé pas mal de façon (redirectpermanent, flag[R=301,L], ...) et sans succès, une fois la réécriture fonctionne mais pas la redirection 301, une fois la redirection 301 fonctionne mais la réécriture ne se fait pas (l'url dans la barre d'adresse est dans l'ancien format).
Donc voici ce que j'essaye de faire :
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([0-9]+)-unmot-unautremot-(.*)$ /mot1-mot2-en.php?action=mot3&numero=$1&alias=$2 [R=301,L]
Avec l'exemple ci-dessus la redirection 301 se fait mais pas la réécriture, pareil si je mets [L,R=301]
Comment arriver à faire cohabiter la réécriture et la redirection en même temps?
Je me casse la tête depuis 2jours sur 2petites lignes et la je suis à bout. 8O
Merci beaucoup d'avance à ceux qui voudront bien m'aider. :wink:
Ps : j'aimerais ne pas avoir à utiliser la méthode en php pour effectuer la redirection301
je vous explique donc précisément la problématique :
-j'ai un site http://www.monsite.fr
-Mon nom de domaine pointe sur le dossier monsite sur mon serveur linux mutualisé de chez godaddy (tous les fichiers et dossiers relatifs à mon site web se trouvent dans ce dossier)
-Dans ce dossier j'y est créé mon fichier .htacess
-Voici l'url que j'avais avant : http://www.monsite.fr/mot1-mot2-en.php?action=mot3&numero=10alias=toto
je souhaitais la réécrire de cette façon : http://www.monsite.fr/10-unmot-unautremot-tot et cela de façon dynamique.
-J'ai donc créé cette règle dans mon .htacess :
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([0-9]+)-unmot-unautremot-(.*)$ /mot1-mot2-en.php?action=mot3&numero=$1&alias=$2 [L]
-Ensuite j'ai modifié tous les anciens liens dans mes pages :
mot1-mot2.php?action=mot3&numero=<?php echo $data['variable1'];?>&alias=<?php echo $data['variable2'];?>
en
<?php echo $data['variable1'];?>-unmot-unautremot-<?php echo $data['variable2'];?>
-Et ça fonctionne bien donc jusqu'ici tous va bien du moins je pense :?
-Lorsque je clique sur un nouveau lien du type : <?php echo $data['variable1'];?>-unmot-unautremot-<?php echo $data['variable2'];?> je me dirige bien vers la bonne page et l'url dans la barre d'adresse est au bon format (nouveau format) donc la réécriture fonctionne.
Maintenant j'aurais voulu mettre en place une redirection 301 pour éviter le duplicate content... donc j'ai essayé pas mal de façon (redirectpermanent, flag[R=301,L], ...) et sans succès, une fois la réécriture fonctionne mais pas la redirection 301, une fois la redirection 301 fonctionne mais la réécriture ne se fait pas (l'url dans la barre d'adresse est dans l'ancien format).
Donc voici ce que j'essaye de faire :
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([0-9]+)-unmot-unautremot-(.*)$ /mot1-mot2-en.php?action=mot3&numero=$1&alias=$2 [R=301,L]
Avec l'exemple ci-dessus la redirection 301 se fait mais pas la réécriture, pareil si je mets [L,R=301]
Comment arriver à faire cohabiter la réécriture et la redirection en même temps?
Je me casse la tête depuis 2jours sur 2petites lignes et la je suis à bout. 8O
Merci beaucoup d'avance à ceux qui voudront bien m'aider. :wink:
Ps : j'aimerais ne pas avoir à utiliser la méthode en php pour effectuer la redirection301