Http vers https + règles en fonction de www ou .fr .com

Ris 51

Nouveau WRInaute
Bonjour à tous,

Je me lance pour la première fois sur forum pour une demande un peu particulière (j'ai essayé de bricoler avec les réponses donnés aux autres et les tutos mais je n'arrive jamais au résultat escompté). Donc voilà le schéma :

J'ai deux noms de domaine (disons monsite.com et monsite.fr)
Les deux noms de domaine pointent sur le même site principal monsite.com
On peut donc accéder à ce même site par monsite.com , monsite.fr , www.monsite.com et www.monsite.fr

J'ai installé un certificat SSL sur monsite.com (Qui n'est donc pas utilisable pour monsite.fr)

Du coup après avoir lu le tuto (https://www.webrankinfo.com/dossiers/techniques/redirection-http-https) j'ai crée le .htacess comme indiqué :

Code:
RewriteEngine on 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Du coup avec j’obtiens le schéma suivant :
-Si la requète est http://monsite.com alors il est redirigé vers https://monsite.com
-Si la requète est http://www.monsite.com alors il est redirigé vers https://www.monsite.com

Par contre :
-Si la requète est http://monsite.fr alors il est redirigé vers https://monsite.fr (donc ERREUR puisque pas de SSL sur .fr)
-Si la requète est http://www.monsite.fr alors il est redirigé vers https://www.monsite.fr (donc ERREUR puisque pas de SSL sur .fr)

Ce qui m'a poussé à écrire un truc rigide du genre :
Code:
RewriteEngine on 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://monsite.com%{REQUEST_URI} [R=301,L]

... avec ça (quitte à ne pas gérer les 'www') j'arrive à peu près à m'en sortir sauf que...

Ce que je voudrais justement c'est pouvoir non seulement gérer les www mais en plus ajouter les règles suivantes :
- Si la requête est https://monsite.fr alors rediriger vers https://monsite.com
- Si la requête est https://www.monsite.fr alors rediriger vers https://www.monsite.com

Et c’est la dessus que je me casse la tête car j'imagine qu'il suffit d'ajouter des 'et' et des 'ou' dans les conditions, mais je ne sais pas comment l'articuler correctement dans un .htacess.

Quelqu’un pourrait il me donner la meilleur marche à suivre ? D'avance Merci ( en espérant avoir été suffisamment précis)
 

loubet

WRInaute impliqué
c'est pas une bonne chose de pouvoir accéder à un site avec et sans www.

sinon, un exemple avec une condition :
Code:
RewriteCond %{HTTP_HOST} ^domaine.com$
RewriteRule ^(.*) http://www.domaine.com/  [QSA,L,R=301]
 

Ris 51

Nouveau WRInaute
c'est pas une bonne chose de pouvoir accéder à un site avec et sans www.

sinon, un exemple avec une condition :
RewriteCond %{HTTP_HOST} ^domaine.com$
RewriteRule ^(.*) http://www.domaine.com/ [QSA,L,R=301]

Merci pour ta réponse, j'essaierais de voir ce que ça donne. De mon côté j'ai continué à fouiller un peu (entre autres là : http://forum.modrewrite.de/topic1607.html) et aidé par le fait d'avoir posé ma question à plat ici, j'ai fini par réussir à pondre ça :

Code:
RewriteEngine on

RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^www\.monsite\.(com|fr)
RewriteRule ^(.*)$ https://www.monsite.com/$1 [r=301,L]

RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^monsite\.(com|fr)
RewriteRule ^(.*)$ https://monsite.com/$1 [r=301,L]

En plus ça m'a permis de comprendre pourquoi la dernière partie de ma demande était impossible.

Du coup si je me fit à ton conseil je pourrais me contenter de ça :

Code:
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(www\.)?monsite\.(com|fr)
RewriteRule ^(.*)$ https://www.monsite.com/$1 [r=301,L]

Mais juste pour savoir, pourquoi "ce n'est pas une bonne chose" ?
 

Discussions similaires

C
Réponses
4
Affichages
1K
christele2
C
Haut