Melkior 1 Posted November 15, 2019 Share Posted November 15, 2019 (edited) Bonjour, Un site avait des pages en php. Suite à une refonte, toutes les pages sont en html Pas de souci pour rediriger les pages du style : /mapage.php avec: redirect 301 "/mapage.php" https://www.monsite.fr Mais les directions ne prennent pas pour des pages comme /mapage?id=10" En effet redirect 301 "/mapage?id=10" https://www.monsite.fr Ne fonctionne pas. Y a t-il une solution ? Merci PS ... Quand je clique sur l'adresse de la page Voilà ce qui est indiqué sur la page Citation Not Found The requested URL /mapage.php was not found on this server. Edited November 15, 2019 by Melkior Link to post Share on other sites
Dan 185 Posted November 15, 2019 Share Posted November 15, 2019 Bonjour, On ne rajoute JAMAIS le QUERY_STRING dans le premier terme d'une redirection. Essaie redirect 301 /mapage https://www.monsite.fr Si ton id=10 doit être traité il faut utiliser RewriteCond et RewriteRule au lieu de redirect ! Mais je ne suis pas certain de ton exemple mapage?id=10 .... tu ne voulais pas écrire mapage.php?id=10 plutôt ? Link to post Share on other sites
Melkior 1 Posted November 15, 2019 Author Share Posted November 15, 2019 (edited) Merci pour la réponse. La page est bien https://www.monsite.fr/mapage?id=10 J'ai modifié avec RewriteEngine On RewriteCond %{HTTP_HOST} ^monsite.fr$ RewriteRule ^(.*) https://www.monsite.fr/$1 [R=301,L] RewriteRule ^index\.html$ / [R=301,L] RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301] redirect 301 /mapage https://www.monsite.fr Maintenant j'ai une redirection quand je mets l'ancienne adresse mais cela me dirige à l'écran vers la page d'accueil mais dans la barre d'adresse j'ai: https://www.monsite.fr/?id=10 Il doit y avoir une erreur car il faut arriver à la page https;//www.monsite.fr sans ?id=10 J'ai pas trop saisie ce que tu as dit => il faut utiliser RewriteCond et RewriteRule au lieu de redirect C'est pour cela que j'ai mis l'htaccess complet Edited November 15, 2019 by Melkior Link to post Share on other sites
Dan 185 Posted November 15, 2019 Share Posted November 15, 2019 A la place de ta ligne redirect il faut utiliser ceci : RewriteRule mapage https://www.monsite.fr/? [R=301,L] Le ? en fin du second argument évite l'ajout du QUERY_STRING Link to post Share on other sites
Melkior 1 Posted November 15, 2019 Author Share Posted November 15, 2019 (edited) La redirection fonctionne correctement. Un grand merci d'avoir partagé tes connaissances. C'est très gentil. Bon week-end. Edited November 15, 2019 by Melkior Link to post Share on other sites
Dan 185 Posted November 15, 2019 Share Posted November 15, 2019 Pas de quoi Je précise tout de même que si tu rediriges toutes tes pages à la racine du nouveau site, tu risques une pénalité pour "duplicate content" Link to post Share on other sites
Melkior 1 Posted November 15, 2019 Author Share Posted November 15, 2019 (edited) Ce sont des anciennes pages qui n'ont aucun contenu. J'aurais pu les laisser tel quel, mais elles ont des backlinks. La redirection sert à récupérer le "jus". Quand tu de duplicate content, tu veux dire par exemple que le site est accessible sous differente url. Par exemple : http://www.monsite.fr http://www.monsite.fr/index.html Edited November 15, 2019 by Melkior Link to post Share on other sites
Dan 185 Posted November 15, 2019 Share Posted November 15, 2019 Oui, mais ça ce n'est pas grave. Google sait gérer cela ! Link to post Share on other sites
Melkior 1 Posted April 6, 2020 Author Share Posted April 6, 2020 Bonjour, Existe-il une astuce de redirection quand on clic sur un lien sur une page d'un partenaire quelconque et qu'il nous renvoie vers : h**s://www.monsite.com/?page=information et que cette page n'existe pas sur mon site ( site non dynamique) J'ai essayé des redirections diverses et je n'arrive pas à rediriger cette page vers la home du site. Merci Link to post Share on other sites
Dan 185 Posted April 6, 2020 Share Posted April 6, 2020 Tout simplement comme ceci : RewriteCond "%{QUERY_STRING}" "page=information" RewriteRule ".*" "https://www.tonsite.com/?" [R=301,L] Le ? de la règle de réécriture est indispensable si tu ne veux pas que le QUERY_STRING soit accolé à l'URL ! Link to post Share on other sites
Melkior 1 Posted April 6, 2020 Author Share Posted April 6, 2020 Merci - Bonne journée Link to post Share on other sites
Melkior 1 Posted February 7 Author Share Posted February 7 Bonjour, Ce post est ma bible pour les redirection .htaccess J'y reviens régulièrement. Par contre je coince sur une redirection de pages php sans query pour un répertoire /dotclear/ Je veux rediriger toutes les pages du répertoire /dotclear/ vers l'index. Les pages à rediriger se présentent sous cette forme => h***://www.monsite.fr/dotclear/index.php?pages/riri-fifi Ayant mis redirect 301 "/dotclear/" https://www.monsite.fr Quand je clique sur l'url à rediriger cela me renvoie à l'affichage de la page index dans mon navigateur mais avec comme adresse : h***://www.monsite.fr/?pages/riri-fifi Merci pour l'aide. Link to post Share on other sites
Dan 185 Posted February 7 Share Posted February 7 Comme ceci peut-être ? redirect 301 "/dotclear/" https://www.monsite.fr/? Je sais par expérience que l'ajout de ? en fin de réécriture permet d'éviter la transmission du QUERY_STRING dans une RewriteRule. Je ne sais pas si c'est pareil avec un Redirect. Link to post Share on other sites
Dan 185 Posted February 7 Share Posted February 7 Manifestement cela ne fonctionne pas avec mod_alias qui inclut d'office le ? Mais sinon, ceci devrait fonctionner : RewriteEngine on RewriteRule /?dotclear/ https://www.monsite.fr/? [R=301,L] ou encore, en utilisant le flag QSD d'apache (version 2.4 ou ultérieure) : RewriteEngine on RewriteRule /?dotclear/ https://www.monsite.fr/ [R=301,L,QSD] QSD signifie Query String Discard Link to post Share on other sites
Melkior 1 Posted February 7 Author Share Posted February 7 Un grand merci Dan. La 2em solution fonctionne. Par contre je suis surpris, après avoir mis le bout de code et nettoyé le cache du navigateur firefox. Je suis revenu sur l'url pour laquelle je coinçais et bizarrement elle me renvoyait toujours à : h***://www.monsite.fr/?pages/riri-fifi Mais comme j'avais d'autres pages à rediriger du même style, j'ai essayé et là miracle sur les autres no problem. Link to post Share on other sites
Dan 185 Posted February 7 Share Posted February 7 J'ai déjà vécu cela, surtout avec des versions récentes : le cache de Firefox ne se vide pas totalement ! Dans ce cas je vide le cache, arrête complètement Firefox et le relance. Et là ça passe ! Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now