Redirection 301

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Redirection 301

Re: Redirection 301

par yoann38 » 24 mai 2016, 07:20

Bon je pense avoir cerné le problème reste à le corrriger:

Donc jusqu'à présent j'avais une page actu.php
Sur la qu'elle je fait le traitement ci dessous
RewriteRule ^toutes-les-actu-en-region-([A-Za-z0-9_-]+).html$ actu.php?region=$1
Maintenant cette page doit s'appeller:
monsite.fr/infos/region-rhone-alpes.html

Comment s'y prendre svp

Re: Redirection 301

par yoann38 » 23 mai 2016, 21:04

Bon en fait en faisant un echo ca marche mais ca redire pas...
bref du coup vais essayer en passant par le htacces par contre j'ai donc fait en 302 mais ca ne marche pas

Je ne change pas de nom de domaine:
Redirect /toutes-les-actu-en-region-rhone-alpes.html http://www.monsite.fr/actu/region-rhone-alpes.html

Ca me renvoi du coup sur ma 404 ...
Si j'enleve la 404 pour voir l'url qu'il me met il me sort

http://monsite.fr/actu/region-rhone-alp ... hone-alpes

Vous voyez à la fin il rajoute ?region=rhone-alpes

Merci à vous

Re: Redirection 301

par yoann38 » 23 mai 2016, 16:30

A mon avis il faut voir pour comprendre.
C'est assez complexe enfin jpense à la base le site avait pas mal d'AJAX et je les viré car pour le SEO l'ajax c'est une catastrophe.

Donc si tu veut j'ai des page produits et pour ca j'ai testé avec un 302 pour voir si ça marché et CA MARCHE !!!
En passant uniquement par la page et non par le htacces;

Exemple:
<?php
header("Status: 302 Moved Temporarily", false, 302);
header("Location: http://www.example.com/page-temporaire.htm"&#41;;
exit();
?>

J'ai testé en provisoire et passeré en 301 une fois les test fait.
Je pense que c'est pas mal....

Re: Redirection 301

par Saian » 23 mai 2016, 16:13

Si le nom de domaine ne change pas, non pas la peine de le mettre ni la RewriteCond.
Et tu peux peut être aussi imaginer une page spéciale qui indiquerait pour ces liens qu'ils ne sont plus disponibles et fournir les liens des régions et départements.

Re: Redirection 301

par yoann38 » 23 mai 2016, 16:06

Le nom de domaine ne change pas.
Faut quand même le préciser ?

Re: Redirection 301

par Saian » 23 mai 2016, 16:02

Et bien, ces liens il faudra bien que tu en fasses quelque chose donc si tu as ça, tu peux peut être les rediriger vers une page de liste des régions, ça laisse quand même la possibilité de retrouver la bonne page ensuite. Peut être qu'un autre code que le 301 serait plus adapté. Sinon oui tu peux toujours les déréférencer mais je pense qu'il faut éviter qu'un utilisateur tombe sur un lien mort.

Exemple de réécriture sinon (à faire pour chaque région et peut être à corriger, je n'ai pas testé) :

Code : Tout sélectionner

RewriteCond %{HTTP_HOST} ^www.ancien_domaine.com$ RewriteRule ^toutes-les-actu-du-departement-(38|69|42)\.html http://www.nouveau_domaine.com/actu/region-rhone-alpes/actu-du-$1.html [QSA,L,R=301]
En mettant tous les départements bien sur.

Re: Redirection 301

par yoann38 » 23 mai 2016, 15:51

Alors vu que les pages n'était pas optimisé... et donc très mal placé
N'aurais pas intérer à les supprimer avec :
<?php
header("Status: 410 Gone", false, 410);
exit();
?>

Que ferais tu toi ?

Re: Redirection 301

par Saian » 23 mai 2016, 15:44

Et bien pour ce cas particulier il semble que dans l'ancienne adresse il n'y a pas le nom de la région qui est présent dans la nouvelle, tu ne pourras donc pas réécrire l'url à la volée vers le nouveau format à moins de faire une règle pour chaque département (ou du moins une règle par région précisant tous les départements dans l'expression de recherche). ^^

Tu pourrais en effet éventuellement rediriger ça sur une page intermédiaire qui à partir du département reconstruirait l'url finale. En revanche au niveau du code de redirection je ne suis pas sur que ce soit ok avec un 301 car il y aurait quand même une double redirection et je pense que ça poserait problème pour le référencement.

Re: Redirection 301

par yoann38 » 23 mai 2016, 15:37

Sans trop vouloir abuser.
Pourrais je avoir un exemple avec ce cas la stp.

RewriteRule ^toutes-les-actu-du-departement-([0-9]{2}).html$ actu.php?departement=$1

sachant que la nouvelles urls elle sera:
http://127.0.0.1/digital/actu/region-rh ... du-38.html

Car apparament une fois qu'ont c'est planté on c'est planté peut pas revenir en arrière ça me parait louche mais bon.

Merci encore

EDIT:
Sinon faut il passer directement par les pages mais ca risque de se compliquer nettement je pense

Re: Redirection 301

par Saian » 23 mai 2016, 15:14

Bonjour yoann38, c'est quelque chose dans le genre (à placer à priori avant les autres règles dans le .htaccess, tu peux surement trouver quelques variantes) :

Code : Tout sélectionner

RewriteCond %{HTTP_HOST} ^www.ancien_domaine.com$ RewriteRule ^(.*) http://www.nouveau_domaine.com/$1 [QSA,L,R=301]
RewriteCond permet de conditionner la RewriteRule à la validité de la condition qui la précède.
L'expression ^(.*) doit en principe capturer toutes les adresses quelques soit la chaîne venant après le nom de domaine.
Le $1 réinjecte la chaîne capturée après le nom de domaine sur la nouvelle adresse.
Et pour les drapeaux QSA, L et R tu peux trouver les explications ici : https://httpd.apache.org/docs/current/f ... flags.html

EDIT : je suis peut être allé un peu vite par rapport à ta demande, mais pour des cas particuliers où la chaine après le nom de domaine change, je pense qu'il faut que tu adaptes l'expression pour matcher avec les anciennes adresses et que tu adaptes le $1 avec la bonne réécriture. Quelque chose dans le style :

Code : Tout sélectionner

http://www.ancien_domaine.com/actu-les-sorties-en-region-rhone-alpes.html http://www.nouveau_domaine.com/monsite/actu/region-rhone-alpes.html RewriteCond %{HTTP_HOST} ^www.ancien_domaine.com$ RewriteRule ^actu-les-sorties-en-region-(.*) http://www.nouveau_domaine.com/actu/region-$1 [QSA,L,R=301]

Redirection 301

par yoann38 » 23 mai 2016, 15:01

Salut à tous.
Ca y'est enfin mon site est terminée mais j'aimerais redirigé mes anciennes urls vers les nouvelles.

J'ai donc comme url actuelle par exemple:
http://monsite.fr/toutes-les-actu-en-re ... alpes.html

et en nouvelle urls:
http://127.0.0.1/monsite/actu/region-rhone-alpes.html

Je souhaite donc redirigé mais bien sur on va pas s'amuser a faire tout ca à la main, car je dois faire ca pour les régions et pour les départements ainsi que pour les villes.

Exemple pour les villes:
Ancienne urls:
http://monsite.fr/actu-les-sorties-en-r ... alpes.html

nouvelles url:
http://127.0.0.1/monsite/actu/region-rh ... noble.html

Cote htacces je procéde ainsi pour mes urls:
# -- sortie + région + ville
RewriteRule ^actu/region-([A-Za-z0-9_-]+)/ville-de-([A-Za-z0-9_-]+).html$ list.php?region=$1&ville=$2

Merci pour vos conseil à venir :wink: