S'il vous plaît ne fermez pas pour être un doublon, j'ai déjà essayé les autres questions répondues et j'ai toujours des problèmes.
Premièrement, je sais pourquoi la certification du site ne fonctionne plus lorsque vous utilisez www
. Le certificat est juste pour example.com
pas www.example.com
, et ajouter www
est techniquement un sous-domaine et rompt donc le certificat, obligeant ainsi les navigateurs à faire le "cert mal/non fiable".
Ma situation est que j'ai des certs pour seulement example.com
, et parfois Google indexe des pages en utilisant www.example.com
. Ceci est évidemment un problème, car lorsque les internautes recherchent des éléments sur mon site, il est plutôt ennuyeux et de mauvaise presse de rencontrer le "mauvais certificat".
Existe-t-il un moyen possible de forcer l'accès https et de supprimer le www
? J'ai essayé d'utiliser htaccess pour le faire, mais je rencontre toujours le problème des mauvais certificats.
Il est à noter que mon htaccess actuel fait ce qu’il doit faire (force https/no www) lors de la connexion initiale via http. Il ne le fait que lorsque la connexion initiale est établie avec https et avec www (le navigateur refuse vraisemblablement la connexion avant que htaccess ait une chance d'agir).
Htaccess actuel:
RewriteEngine On
RewriteCond %{HTTP_Host} ^(www\.)(.+) [OR]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_Host} ^(www\.)?(.+)
RewriteRule ^ https://%2%{REQUEST_URI} [R=301,L]
Sinon, s'il était possible d'empêcher Google d'indexer les pages avec www, cette solution de contournement serait également acceptable pour moi.
Les navigateurs n’accèdent plus au serveur lorsque le certificat n’est pas approuvé/valide. La redirection .htaccess
ne peut donc pas fonctionner (elle devrait fonctionner dès que l’utilisateur ajoute le certificat en tant qu’exception).
La meilleure solution consiste également à obtenir un certificat pour le nom d'hôte avec www
. Cela ne permet pas seulement de rediriger les utilisateurs vers le bon nom d'hôte lorsque vous suivez les liens depuis résultats de recherche ou de signets, il aide également les utilisateurs qui tapent votre nom d’hôte avec www
(ce qui est couramment fait, même s’il est annoncé sans www
), ce qui peut encore se produire longtemps après que les moteurs de recherche ont supprimé le nom d’hôte avec www
de leurs index.
Si cela n’est pas possible, vous pouvez au moins indiquer aux moteurs de recherche qu’ils doivent préférer le nom d’hôte sans www
. Une meilleure redirection 301 ici. Si cela n’est pas possible, le second choix est le type de lien canonical
. Bien sûr, les deux ne peuvent fonctionner que pour les moteurs de recherche qui ignorent le mauvais certificat (je suppose que la plupart le font).
Vous pouvez également essayer d’utiliser les outils de Webmaster du moteur de recherche pour définir le nom d’hôte préféré. Pour Google, voir Définissez votre domaine préféré (www ou non-www) (mais je ne sais pas si cela fonctionne pour les hôtes sans certificat de confiance).
En tout cas, il faut attendre. Après un certain temps, le nom d'hôte avec www
devrait disparaître des résultats de la recherche.
Le "mauvais certificat" est déclenché par le navigateur lors de l'établissement de la liaison SSL. C’est la toute première chose qui se passe et se produit bien avant que .htaccess
ou toute autre logique de votre serveur ne puisse faire quoi que ce soit. Comme vous le suggérez, "le navigateur refuse la connexion avant que htaccess ait une chance d'agir".
Ainsi, si votre certificat SSL n’est valable que pour le domaine apex et que Google a en quelque sorte indexé https://www.example.com/
ou si les personnes suivent les liens vers https://www.example.com/
, la seule chose que vous pouvez faire pour résoudre ce problème immédiat est de "réparer" votre cert.
un moyen d'empêcher Google d'indexer les pages avec www
Un petit casse-tête, pourquoi devrait-il "continuer" à le faire, sauf si la version HTTPS/www est liée à différents endroits? (Avez-vous déjà utilisé la version http://www.example.com
avant d’utiliser le certificat SSL?)
Avec les propriétés vérifiées dans Google Search Console (GSC), vous pouvez au moins définir une préférence entre www et non www.
Il est également judicieux d’obtenir le certificat pour votre sous-domaine www
, mais vous pouvez également configurer une redirection au niveau de votre serveur de noms. Presque tous les fournisseurs de solutions DNS disposent de la fonctionnalité permettant d'activer un masque de nom ou un transfert de domaine.
Je ne sais pas s'il est également applicable au niveau http ou s'il fonctionne pour les requêtes au protocole HTTPS, mais cela en vaut la peine.