Bonjour,
J'ai placé le code .htaccess proposé en exemple dans cette page (https://help.ovhcloud.com/csm/fr-web-hosting-htaccess-url-rewriting?id=kb_article_view&sysparm_article=KB0052877) pour rediriger les entrées "http" vers "https" et cela semble fonctionner.
Par contre, comment faire pour pointer sur la racine uniquement (et non "www.")?
Merci
Bonjour
Bonjour,
Si vous avez suivi cet exemple:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domain.tld/$1 [R,L]
vous pouvez enlever le "www." ci-dessus.
___ ___
Si on considère l'autre exemple:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.tld$
RewriteRule ^(.*) http://www.domain.tld/$1 [QSA,L,R=301]
vous pouvez très bien l'utiliser dans l'autre sens
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain.tld$
RewriteRule ^(.*) http://domain.tld/$1 [QSA,L,R=301]
___ ___
Je ferais comme ceci::
RewriteEngine On
RewriteCond %{SERVER_PORT} 80 [OR]
RewriteCond %{HTTP_HOST} ^www.domain.tld$ [NC]
RewriteRule ^(.*)$ https://domain.tld/$1 [R,L]
Explications:
[OR] c'est une condition OR (OU)
[NC] c'est une comparaison "not case sensitive" de manière à faire aussi le remplacement si on a c"crit votre URL en majuscules.
J'avais fait ça ci-dessous mais ça ne marchait pas.
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://gtld.ovh/$1 [R,L]
Je viens de remplacer par :
RewriteEngine On
RewriteCond %{SERVER_PORT} 80 [OR]
RewriteCond %{HTTP_HOST} ^www.gtld.ovh$ [NC]
RewriteRule ^(.*)$ https://gtld.ovh/$1 [R,L]
Ca semble fonctionner. Du coup, une idée pourquoi ma version ne fonctionnait pas?
Votre version ne contenait pas la condition: "RewriteCond %{HTTP_HOST} ^www.gtld.ovh$ [NC] "
Cette condition dit que si quelqu'un visite www.gtld.ovh il faut le renvoyer sur gtld.ovh
C'est domage, c'est celle qui est proposée en exemple dans les FAQs OVH.
Merci!
Guillon a raison, vous devriez mettre dans le guide un exemple de .htaccess qui répond à 99% des demandes: