Aller au contenu

Sujets conseillés

Posté

Bonjour,

Je me doute bien que le sujet est récurent et certainement simple, mais...

Je suis en train de rénover un vieux site et j'ai besoin de faire des redirections 301

1)

j'ai des adresses du type:

 http://delafeuilledor.fr/Violet/violetmain.php?page=ateliers

que je voudrais rediriger vers

http://delafeuilledor.fr/vdisplay.php?page=atelier

ça ne marche pas (est-ce dû à tout ce qu'il y a après ".php?" ?)

Ce serait gentil de me donner le code complet à mettre dans mon .htaccess actuellement vide.

2)

Moins important et séparé, est-il possible de supprimer complètement le :

 vdisplay.php?page=

Ou le remplacer si nécessaire par un mot "théâtre" par exemple ?

J'ai bien essayé de lire différents article mais je n'ai pas dû bien tout comprendre.

Merci de votre aide

Posté

Bonjour,

Pour le premier point, je pense que ceci devrait fonctionner :

RewriteCond %{QUERY_STRING} ^page=(.*)$
RewriteRule ^Violet/violetmain\.php$ http://delafeuilledor/vdisplay.php?page=%1 [L,R=301]

Pour le deuxième, ceci (c'est qu'un exemple à adapter, tu peux remplacer "page" par ce que tu veux) :

RewriteRule ^page-(.+).html$ vdisplay.php?page=$1 [L]

Et si tu veux combiner les deux, à savoir une redirection 301 de Violet/violetmain.php?page=truc vers page-truc.html qui redirige (sans 301) vers vdisplay.php?page=truc, il faut mettre :

RewriteCond %{QUERY_STRING} ^page=(.*)$
RewriteRule ^Violet/violetmain\.php$ http://delafeuilledor/page-%1.html [L,R=301]
RewriteRule ^page-(.+).html$ vdisplay.php?page=$1 [L]

PS : et tu nous dis que ton .htaccess est actuellement vide, donc n'oublie pas d'ajouter au début :

RewriteEngine On

pour activer l'url rewriting.

Posté

Merci beaucoup Ernestine,

Cela fait des mois que j'attendait pour attaquer la remise à jour de ce site,

Ça marche nickel. (juste j'ai dû rajouter l'extension du domaine).

En ce qui concerne le deuxième point

RewriteCond %{QUERY_STRING} ^page=(.*)$
RewriteRule ^Violet/violetmain\.php$ http://delafeuilledor/page-%1.html [L,R=301]
RewriteRule ^page-(.+).html$ vdisplay.php?page=$1 [L]

Ça donne une adresse un peu trop compliquée à mon goût:

http://delafeuilledor.fr/page-ateliers.html?page=ateliers

un simple "page=atelier" aurait été plus élégant à mon goût,

Sans vouloir abuser une autre question

Existe il une solution pour, provisoirement, faire les redirection page par page sans affecter tout le site. Juste le temps d'avoir refait l'ensemble des pages ?

Bonne soirée.

Posté

Ça donne une adresse un peu trop compliquée à mon goût:

http://delafeuilledor.fr/page-ateliers.html?page=ateliers

un simple "page=atelier" aurait été plus élégant à mon goût

Ah oui, j'ai oublié le point d'interrogation à la à la fin de la deuxième ligne (après page-%1.html), il suffit de faire :

RewriteCond %{QUERY_STRING} ^page=(.*)$
RewriteRule ^Violet/violetmain\.php$ http://delafeuilledor.fr/page-%1.html? [L,R=301]
RewriteRule ^page-(.+).html$ vdisplay.php?page=$1 [L]

Ce qui dirigera vers une adresse du style page-atelier.html (qui elle-même pointera sur vdisplay.php?page=atelier)

Pour ton autre demande, tu peux tout simplement faire les redirections une par une à la main, exemple pour la page atelier :

RewriteCond %{QUERY_STRING} ^page=atelier$
RewriteRule ^Violet/violetmain\.php$ http://delafeuilledor.fr/page-atelier.html? [L,R=301]
RewriteRule ^page-atelier.html$ vdisplay.php?page=atelier [L]

En dupliquant ces trois lignes autant de fois que tu as de pages à rediriger, en remplaçant le mot "atelier" par les noms nécessaires ;)

Posté

Merci beaucoup, je regarde tout ça tranquillement demain.

Et reviendrait bien sûre pour tenir compte des résultats.

C'est vraiment agréable d'obtenir des réponses concrètes et efficaces.

D.M.

Veuillez vous connecter pour commenter

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



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