Domaines - Rediriger toutes mes URL vers mon domaine principal en évitant une boucle de redirectio
... / Rediriger toutes mes URL ...
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

Rediriger toutes mes URL vers mon domaine principal en évitant une boucle de redirectio

Von
VirginieA9
Erstellungsdatum 2022-10-25 09:27:55 (edited on 2024-09-04 11:30:53) in Domaines

Bonjour à tous,

J'utilise OVHcloud pour l'hébergement d'un petit site pour ma tante.
Elle m'a demande de changer le nom de domaine tout en conservant l'ancien qui redirige vers le nouveau.

J'ai essayé de passer par les redirections OVH mais elle ne gère pas les URL en https et après avoir parcouru plusieurs postes, j'ai cru comprendre que c'était une mauvaise idée. La communauté semble conseiller d'utliser plutôt le htaccess pour cela, ce que j'ai fait.
Seulement voilà, j'arrive presqu'au résultat escompté (rediriger toutes les URL vers ma principale) mais assez logiquement je tomber sur une boucle de redirection puisque le domaine principal est lui aussi redirigé vers lui-même.

Voici la liste des URL que je voudrais rediriger vers la principale (https://www.espace-m710.com) :
* http://espace-m710.com
* https://espace-m710.com
* http://www.espace-m710.com
* http://www.espace-m710.fr
* http://espace-m710.fr
* https://www.espace-m710.fr
* https://espace-m710.fr
* http://www.showroom-m710.com
* http://showroom-m710.com
* https://www.showroom-m710.com
* https://showroom-m710.com
* http://www.showroom-m710.fr
* http://showroom-m710.fr
* https://www.showroom-m710.fr
* https://showroom-m710.fr

Voici mon onglet multisite :
image

Voici mon onglet zones DNS :
image

Voici mon onglet redirections :
image

Voici les lignes du fichier htaccess qui provoque le souci de boucle de redirection :
RewriteEngine On
RewriteRule ^(.*)$ https://www.espace-m710.com/ [R=301,L]

Pourriez-vous m'aider ? J'ai essayé de trouver une ligne du style "ajouter comme exception telle URL" mais je n'ai pas réussi.

Merci d'avance.


10 Antworten ( Latest reply on 2022-10-26 20:04:19 Von
janus57
)

Bonjour @VirginieA9

Voici un petit guide que j'ai écrit et qui pourrait vous apporter des éclaircissements pour une Installation complète et propre de votre Site.

**************************************************************************************************
* **Guide - Comprendre la Relation Domaine > Zone DNS > Hébergement > Dossier du site** *
**************************************************************************************************

Voir --> **https://www.wordetweb.com/word-et-web/WORDPRESS-guide-installation-de-WordPress-premier-domaine-chez-OVH-FR.htm">CMS - WordPress - Guide Installation chez OVH**
Contrôler votre situation en suivant **attentivement** les paragraphes : **A** à **J**

_N'hésitez pas à me faire un retour : positif ou négatif._
_C'est comme cela que je peaufine mon Guide._

_Si ce guide vous a bien aidé, n'hésitez pas à cliquer sur le bouton « j'aime »_


Voici les lignes du fichier htaccess qui provoque le souci de boucle de redirection :
RewriteEngine On
RewriteRule ^(.*)$ https://www.1m710.com/m710.com/ [R=301,L]


Il vous manque une ligne avec une condition sur base du mot-clé RewriteCond

Voyez le guide ici (l'exemple redirige example.com)
https://docs.ovh.com/fr/hosting/htaccess-reecriture-url-mod-rewrite/#rediriger-exemplecom-vers-wwwexemplecom

Bonjour Gaston_Phone,

Merci pour votre guide. Il me semble très bon et didactique.
Toute la partie Wordpress et base de donnée ne m'est pas utile car là je parle d'un petit site statique.
J'ai lu attentivement les parties sur les zones DNS et le multisite et je pense avoir fait ce qu'il faut de ce côté n'est-ce pas (les captures sont dans mon premier post) ?

Merci.

Bonjour,

En effet, ajouter des conditions me permettrait d'éviter la boucle. Le guide d'OVH n'est pas très complet alors j'ai cherché et ai trouvé ça : https://httpd.apache.org/docs/current/fr/mod/mod_rewrite.html#rewritecond
Le problème c'est que je ne comprends pas tout et je ne sais pas comment ajouter ma condition.
Juste pour tester, j'ai essayé ceci mais ça ne fonctionne pas :
RewriteEngine On
RewriteCond %{HTTP_HOST} ^1m710.fr$m710.fr$
RewriteRule ^(.*)$ https://www.1m710.com/m710.com/ [R=301,L]

Il me faudrait une condition qui dise "si l'URL termine en "1m710.frm710.fr" OU si l'URL contient "showroom-m710.", alors rediriger vers https://www.1m710.com/m710.com/" mais je ne sais pas comment écrire ça.


Il me faudrait une condition qui dise "si l'URL termine en "1m710.frm710.fr" OU si l'URL contient "showroom-m710.", alors rediriger vers https://www.1m710.com/m710.com/" mais je ne sais pas comment écrire ça.


Je viens de penser à une façon plus générique d'écrire cette condition je pense : si l'URL ne commence pas par " https://www.1m710.comm710.com" alors rediriger vers https://www.1m710.com.m710.com.


Je viens de penser à une façon plus générique


Voyez ici https://www.xsofthost.com/help/how-to-use-rewritecond-and-rewriterule-in-htaccess/

et le ! qui est une négation

RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

donc si l'URL reçu ne commence pas par www, on lui ajoute www.

Voyez aussi https://www.sitepoint.com/apache-mod-rewrite-examples-2/, il y a des bons exemples.

Merci beaucoup j'ai réussi à trouver du coup.
Pour info, voici le code qui fonctionne bien :
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.1m710.com$m710.com$ [NC]
RewriteRule ^(.*)$ https://www.1m710.com/m710.com/ [R=301,L]


Pour info, voici le code qui fonctionne bien :

Pas depuis mon PC. Le " **!** " est en trop.


Le " ! " est en trop.


@Gaston_Phone, le ! est justement intentionnel.
Quand on ne sait pas, on se tait.

http://www.espace-m710.com -->

Bonjour,


http://www.1m710.comm710.com -->

c'est normale c'est ce qui est dicté dans le .htaccess

[code]
1- RewriteEngine On
2- RewriteCond %{HTTP_HOST} !^www.1m710.com$m710.com$ [NC]
3- RewriteRule ^(.*)$ https://www.1m710.com/1m710.com/1 [R=301,L]
[/code]
1- on active le moteur de réécriture
2- **Si** le host n'est **PAS** www.1m710.comm710.com
3- on redirige vers https :// www.1m710.com/m710.com/

Vu la question d'origine :

Voici la liste des URL que je voudrais rediriger vers la principale (https://www.1m710.comm710.com) :
* http://1m710.comm710.com
* https://1m710.comm710.com
* http://www.1m710.comm710.com
* http://www.1m710.frm710.fr
* http://1m710.frm710.fr
* https://www.1m710.frm710.fr
* https://1m710.frm710.fr
* http://www.1m710.comm710.com
* http://1m710.comm710.com
* https://www.1m710.comm710.com
* https://1m710.comm710.com
* http://www.1m710.frm710.fr
* http://1m710.frm710.fr
* https://www.1m710.frm710.fr
* https://1m710.frm710.fr


le code aurais dû être (si je me suis pas planté) :
[code]
RewriteEngine On
RewriteCond %{SERVER_PORT} 80 [OR]
RewriteCond %{HTTP_HOST} !^www.1m710.com$m710.com$ [NC]
RewriteRule ^(.*)$ https://www.1m710.com/m710.com/ [R=301,L]
[/code]

Cordialement, janus57

Merci @janus57

Je comprends mieux.


le code aurais dû être


Merci aussi, bonne soirée :)
On est hors Wordpress, donc on doit penser à tout !

Bonjour,


On est hors Wordpress, donc on doit penser à tout !

c'est surtout qu'on peut faire comme on veux, le choix du code va dépendre de la pensée du concepteur.
Mais au moins ça permet d'apprendre.

Cordialement, janus57