web-dev-qa-db-fra.com

Que fait ce fichier htaccess dans cette configuration?

Je n'ai jamais vu cette configuration dans .htaccess. Cela vient de mon site qui réinitialise actuellement. Je n'ai pas de certificat SSL installé, mais je me souviens avoir vu ces noms sur les certificats précédents.

Alors, est-ce que quelqu'un sait ce que cela accomplit?

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) http://%{HTTP_Host}%{REQUEST_URI}
RewriteCond %{HTTP_Host} ^example\.com$ [OR]
RewriteCond %{HTTP_Host} ^www\.example\.com$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "http\:\/\/www\.example\.com\/" [R=301,L]
4
drtechno
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$

Je n'ai pas de certificat SSL installé

Eh bien, vous le faites probablement maintenant!? Ces conditions (type de) sont automatiquement injectées par cPanel lorsqu’il renouvelle automatiquement les certificats de sécurité (généralement GRATUIT) (par exemple, ceux fournis par "Let's Encrypt"). Cela permet de s'assurer que le fichier de validation (requis lors de l'installation) est accessible.

Certains hôtes Web (partagés) semblent maintenant activer ces certificats SSL gratuits, que vous les ayez explicitement demandés ou non.

Voir ma réponse à ne question similaire sur ServerFault pour plus de détails:
https://serverfault.com/a/884922/49157


De plus:

RewriteCond %{HTTPS} on

Vous dites que vous n’avez pas de certificat SSL installé, cependant, vous avez essayé d’effectuer une redirection HTTPS vers HTTP (ce qui serait inutile sans certificat SSL, mais aussi en arrière si vous l’aviez fait).

RewriteRule ^/?$ "http\:\/\/www\.websitename\.com\/" [R=301,L]

Cela ne fait que rediriger la requête unique pour la racine du document - est-ce intentionnel? Cependant, dans votre code exemplifié , il semble que cela entraînerait une boucle de redirection?!


UPDATE: Peut-être que vous vouliez une image plus grande ...?

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) http://%{HTTP_Host}%{REQUEST_URI}
RewriteCond %{HTTP_Host} ^example\.com$ [OR]
RewriteCond %{HTTP_Host} ^www\.example\.com$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "http\:\/\/www\.example\.com\/" [R=301,L]

Il n'y a rien de particulièrement étrange ici. Il ne s'agit que de deux redirections écrites de manière incompétente, qui endommageront probablement votre serveur (sauf si quelque chose a été perdu dans le code de la question cité en exemple):

  • Le premier est une redirection HTTPS vers HTTP. Bien que vous deviez demander pourquoi? Un certificat SSL doit être installé en premier lieu pour éviter les avertissements du navigateur. Et si vous avez un certificat SSL installé, pourquoi ne pas utiliser le certificat SSL? (Mais alors, peut-être que votre site n'est pas prêt pour HTTPS?) Cependant, en raison de l'absence de l'indicateur R, il en résultera une redirection temporaire (302). De plus, l'absence de l'indicateur L permettra au moteur de réécriture de continuer à parcourir le fichier.

  • La seconde ressemble, dans un premier temps, à une redirection canonique non www vers www (qui, soit dit en passant, semble avoir été générée par cPanel) - l’abondance inutile d’échappements de barres obliques inverses dans la RewriteRule la substitution est un signe révélateur). Cependant, la condition supplémentaire qui vérifie le nom d'hôte canonique se traduira par une boucle de redirection! En outre, il redirige uniquement la racine du document.

  • Les deux autres conditions (directives RewriteCond mentionnées ci-dessus) sont ajoutées automatiquement par cPanel lorsque les certificats SSL sont renouvelés.

4
MrWhite