8717 sujets

Développement web côté serveur, CMS

Bonjour,

Je possède un domaine hébergé chez OVH. je possède un SSL.

Je souhaiterais rediriger une page qui n'existe plus sur le serveur vers une nouvelle. Soit la page https://gite-tigoudoul.bzh/gite-avec-salle-de-jeux-pour-enfants (pas d'extension .html car vient de Squarespace) vers la page https://gite-tigoudoul.bzh/gite-8-personnes-bretagne/gite-avec-salle-de-jeux.html. J'ai donc mis ceci dans mon .htaccess:


# Redirections
RewriteEngine  on
RewriteRule    "^/gite-avec-salle-de-jeux-pour-enfants$" 
"/gite-avec-salle-de-jeux.html" [PT]

# BEGIN Cache-Control Headers
<ifmodule mod_headers.c>
 <filesmatch "\\.(ico|jpe?g|png|gif|swf|gz|ttf)$">
 Header set Cache-Control "max-age=2592000, public"
 </filesmatch> ...


Cela ne fonctionne pas.

Merci pour votre aide.
Cdt
Marie
Modifié par gite-tigoudoul (23 Mar 2024 - 17:30)
Bonjour,
j'étais sur le point de poster ma réponse et je vois que vous avez écrit ce que je préconisais Smiley ravi
--------
Ma réponse.
Pour votre cas, il vaudrait mieux utiliser la règle "Redirect" plutôt que "Rewrite". Je n'ai pas l'arborescence de votre serveur, mais il faut tester le htaccess avec le chemin complet (https://gite-tigoudoul/gite-8-personnes-bretagne/gite-avecsalle-de-jeux.) pour l'adresse d'arrivée. Sinon la redirection va aller où ? Ce n'est pas une question d'extension, mais d'url à donner.
Il faudrait aussi mettre le Flag [R=301] afin d'indiquer aux moteurs de recherche qu'il s'agit d'une redirection 301 (si c'est ce que vous voulez). On peut aussi le mettre sans utiliser un drapeau, "Permanent" ou 301 directement après Redirect.
Finalement, pour votre cas :
Redirect 301 "^/gite-avecsalle-de-jeux-pour-enfants$" "https://gite-tigoudoul/gite-8-personnes-bretagne/gite-avecsalle-de-jeux."
Mais puisque vous avez trouvé la solution Smiley smile
Merci pour votre réponse.

J'ai écrit ça

Redirect 301 "^/gite-avec-salle-de-jeux-pour-enfants$" 
"https://gite-tigoudoul/gite-8-personnes-bretagne/gite-avec-salle-de-jeux.html"
RedirectPermanent /gite-eco-responsable-en-bretagne-sud.html 
 https://gite-tigoudoul.bzh/gite-eco-responsable-bretagne.html


Ça me renvoie une erreur 500. La 2e redirection ne fonctionne plus si j'ajoute avant

Redirect 301 "^/gite-avec-salle-de-jeux-pour-enfants$" 
"https://gite-tigoudoul/gite-8-personnes-bretagne/gite-avec-salle-de-jeux.html"


Merci.
Cdt
Modifié par gite-tigoudoul (23 Mar 2024 - 20:43)
Juste pour information puisque ça fonctionne.
En aucun cas il faut remettre Redirect 301 devant le second chemin. La première déclaration vaut pour toute la commande.
L'exemple de 19h24 est le bon.
J'en profite pour signaler que le drapeau [NC] est utile si on mélange les majuscules et les minuscules dans l'ensemble de la règle. Et que sur l'exemple du premier post que vous avez corrigé, le "max-age=2592000" est beaucoup trop long pour des fichiers images qui ne vont que rarement changer.
Bonne continuation.