#1 Le 27/04/2022, à 06:54
- abecidofugy
[Résolu] regex pour .htaccess pour faire redirection permanente en 301
Hello,
On a décidé de désactiver tous nos modules AMP pour Drupal, comme « personne » ne l’utilise et il est difficile de faire un design identique entre la version amp et la version mobile responsive.
Mais pour faire proprement la chose, je voudrais mettre en place des 301 (redirection permanente) dans le .htaccess et ne laisser que la canonical déjà en place.
Les urls pour AMP se présentent sous la forme : www.domaine.fr/?amp ou www.domaine.fr/services?amp
Il faudrait donc virer le suffixe ?amp
J’ai trouvé une ressource (mais pour Wordpress) ici, mais la méthode 2 est foireuse : https://webosity.fr/comment-desactiver- … wordpress/
Si vous avez une idée de comment faire pour Drupal, je vous remercie !
Bonne journée.
Dernière modification par abecidofugy (Le 27/04/2022, à 19:35)
Hors ligne
#2 Le 27/04/2022, à 07:57
- bruno
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
Bonjour,
Si les URL se terminent toutes par ?amp, je dirai quelque chose comme :
RedirectMatch 301 ^/(.*)\?amp$ https://domaine.fr/$1
#3 Le 27/04/2022, à 07:59
- abecidofugy
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
Non, pas toutes les URL ont une page valide AMP, car elles doivent répondre à certains critères.
Je vais tester ton lien. Merci !
Hors ligne
#4 Le 27/04/2022, à 08:00
- abecidofugy
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
Est-il possible de ne pas préciser le domaine dans la regex ?
J’ai le site en préprod, donc le domaine n’est pas le définitif.
Hors ligne
#5 Le 27/04/2022, à 08:06
- abecidofugy
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
Mon .htaccess pour l’instant : https://pastebin.com/vpVPa8BL
Hors ligne
#6 Le 27/04/2022, à 11:50
- bruno
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
Non avec Redirect ou RedirectMatch la redirection doit se faire vers une URL absolue (avec le protocole et le nom de domaine)
Sinon tu dois pouvoir faire la même chose avec des règles de réécriture :
RewriteCond %{REQUEST_URI} (.*)\?amp(.*)$
RewriteRule ^ %1 [L,R=301]
Non testé.
#7 Le 27/04/2022, à 13:12
- abecidofugy
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
Écoute, ça m’a l’air bon, en ce sens que je n’ai plus mon erreur 500 ^^
Par contre, l’url reste affichée dans le navigateur avec le ?amp
Si je traduisais en langage clair, ton code fait une redirection permanente des url finissant par ?amp et seulement celles-ci, vers l’url sans le ?amp (canoniques).
C’est ça ?
Merci bruno.
PS : j’ai rajouté tes lignes au niveau de la ligne 150 du .htaccess
Dernière modification par abecidofugy (Le 27/04/2022, à 13:13)
Hors ligne
#8 Le 27/04/2022, à 16:04
- bruno
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
Non ce que j'ai indiqué ne fonctionne pas. Je ne suis jamais à l'aise avec les règles de réécriture et les regexp. je pense qu'il faut utiliser QUERY_STRING ou QSD
Bon j'ai cherché et testé différentes solutions trouvées sur le web, aucune ne semble fonctionner avec un CMS qui utilise des chaînes de requêtes (Wordpress, Drupal, etc.)
Dernière modification par bruno (Le 27/04/2022, à 16:58)
#9 Le 27/04/2022, à 18:29
- abecidofugy
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
Re bruno,
Alors on m’a pointé cette page-là: https://perishablepress.com/redirect-qu … -htaccess/
Tu saurais adapter ça à mon cas précis des pages avec ?amp ?
Merci de ton aide, je vais tâcher de relire la page pour tenter de la comprendre, à mon niveau.
Hors ligne
#10 Le 27/04/2022, à 18:45
- abecidofugy
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
Cool, on m’a montré un super tool : https://htaccess.madewithlove.com/?shar … c095d4ee1f
Je me marque-page ça ! Ça semble répondre à ma requête. Je passe en Résolu
Merci bruno
Hors ligne
#11 Le 27/04/2022, à 18:46
- abecidofugy
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
là, l’exemple avec juste ?amp : https://htaccess.madewithlove.com?share … cd7696bc45
Dernière modification par abecidofugy (Le 27/04/2022, à 18:47)
Hors ligne
#12 Le 27/04/2022, à 18:51
- abecidofugy
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
Zut, ça redirige vers la homepage, pas l’url sans le ?amp
Hors ligne
#13 Le 27/04/2022, à 18:52
- bruno
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
Pas mal cette page, merci pour le lien
Par contre j'ai testé des choses similaires et cela ne fonctionnait pas sur mon CMS : conflit avec d'autres redirection ou des requête qui contenaient les lettres amp. Je n'ai pas creusé plus loin. À tester avec ton Drupal.
#14 Le 27/04/2022, à 19:35
- abecidofugy
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
Alors ça semble marcher pour toutes les URL auxquelles je rajoute le suffixe ?amp sauf une page ! La page /services
Vraiment bizarre.
J’ai vidé les cache (mais normalement, pas besoin) j’ai supprimé les deux redirections automatiques qu’il y avait sur cette page (pour cause d’ancienne renommage de l’url) et ce qui se passe, c’est que je suis redirigé vers la homepage.
Vraiment étrange.
Hors ligne
#15 Le 27/04/2022, à 20:02
- abecidofugy
Re : [Résolu] regex pour .htaccess pour faire redirection permanente en 301
J’ai recréé la page récalcitrante, et tout marche à présent ^^
Hors ligne