Quel est le meilleur moyen de forcer HTTPS et WWW mais d’autoriser localhost?

Quel est le meilleur moyen de forcer HTTPS et WWW mais d’autoriser localhost? [Français]

HTACCESS force HTTPS et WWW mais autorise localhost

Il est important de forcer HTTPS et WWW pour plusieurs raisons: gagnez la confiance de vos visiteurs en leur montrant que la connexion est sécurisée et, si vous utilisez un sous-domaine tel que www, maintenez la cohérence avec vos visiteurs et vos rapports sur votre Web bon marché. hébergement par exemple.

Dans les moteurs de génération de rapports tels que Google Search Console, il peut facilement devenir compliqué d’avoir différentes vues pour le même site et les mêmes pages. Un avec une connexion HTTPS sécurisée, un sans, et un de chaque avec le sous-domaine Web www et un autre sans, et même devenir un cauchemar vous obligeant à configurer un filtre de sous-domaine Google Analytics pour obtenir des rapports cohérents.

Il existe en fait des moyens simples de s’assurer que tous les visiteurs seront redirigés vers la version HTTPS du site et du sous-domaine Web sécurisée dans HTACCESS force, sans aucune incidence sur les visites. Cet outil peut également être utilisé pour rediriger le site vers un autre site Web. méthode élégante.

Et en plus de cela, et pour le rendre complet, assurez-vous que le sous-domaine localhost est accessible sans le sous-domaine Web ou la redirection vers HTTPS, et que les pages se terminant par une barre oblique seront redirigées vers la page normale, afin d'éviter compte double des mêmes pages dans les rapports.

Débarrassons-nous de toutes ces pages en double, ce qui complique à la fin l’analyse agrégée correcte:

  • http://mywebsite.com/page

  • http://mywebsite.com/page/

  • https://mywebsite.com/page

  • https://mywebsite.com/page/

  • http://www.mywebsite.com/page

  • http://www.mywebsite.com/page/

  • https://www.mywebsite.com/page

  • https://www.mywebsite.com/page/

  • Tout cela sera fait en mettant à jour le fichier .htaccess, qui est un fichier caché utilisé sur les serveurs Apache, généralement stocké dans le dossier racine du site Web.

Page de redirection se terminant par slash

Pour supprimer la barre oblique de fin de l'URL se terminant par l'une d'elles et pour que les demandes soient redirigées vers la page standard sans la barre oblique, faites simplement correspondre les URL commençant et se terminant par une barre oblique, assurez-vous que ce n'est pas un répertoire demandé et redirigez à l'ensemble de l'URI de la demande sans la barre oblique de fin.

De plus, redirigez la page vers l'URL Web sécurisée qui devrait être correcte - cela résoudra directement tous vos problèmes potentiels, y compris les barres obliques finales, les demandes non sécurisées ou les sous-domaines non Web.

Nous avons également besoin d’un morceau de code supplémentaire pour nous assurer que toute demande adressée à un répertoire se termine par une barre oblique, car les URL des annuaires de sites Web normaux se retrouveront avec l’un d’eux.

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]
# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

HTACCESS force HTTPS et force WWW htaccess

Maintenant que le problème de la barre oblique finale est résolu, concentrons-nous sur le manque de HTTPS ou de sous-domaine Web manquant pouvant survenir, avec une redirection htaccess http vers https with force www.

Le moyen le plus simple et le plus stylé de le faire consiste à les identifier tous deux dans le même état htaccess.

Cela se fait facilement en faisant correspondre les URL ne commençant pas par le sous-domaine Web, ou par toute demande n'incluant pas le protocole HTTPS, et en redirigeant l'URL correcte de notre site Web, qui inclut à la fois la connexion sécurisée et le sous-domaine Web www.

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

Force HTTPS et WWW mais autorise localhost

C’est bien, mais que se passe-t-il lorsque nous essayons réellement d’atteindre notre site Web en mode développement sur le serveur local XAMPP, mais toutes nos demandes adressées à http: // localhost sont désormais redirigées vers https://www.mysite.com - notre version de production?

La solution consiste à réutiliser le code précédent qui applique les versions HTTPS et WWW de la demande d’URL, mais commencez-le en excluant des demandes de contrôle adressées à localhost ou à notre adresse IP locale, à savoir 127.0.0.1.

Et voilà, nous avons maintenant un beau morceau de code qui résoudra tous nos problèmes!

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

Redirige HTTP vers HTTPS htaccess, force WWW et supprime la barre oblique de fin

L'ensemble du code ci-dessous peut être utilisé dans le fichier HTACCESS pour obtenir les résultats suivants:

Rediriger HTTP vers HTTPS en htacces,

Forcez WWW dans htaccess,

Supprimer la barre oblique de fin dans l'URL.

Bien sûr, n'oubliez pas de changer l'URL du site Web de celui qui vous concerne.

Il peut même être utilisé pour rediriger un site Web vers un autre site Web en modifiant simplement les URL de destination de votre autre meilleur site Web d'hébergement Web bon marché:

#--------------------------------------------------
# Force WWW htaccess : /
#--------------------------------------------------
#### Force HTTPS://WWW and remove trailing / from files ####
## Turn on rewrite engine
RewriteEngine on

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]

# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

# HTACCESS force HTTPS and force WWW htaccess
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

Articles similaires

commentaires (0)

laissez un commentaire

Augmentez vos revenus publicitaires de 50 à 250% avec Ezoic. Un partenaire de publication certifié Google.
Augmentez vos revenus publicitaires de 50 à 250% avec Ezoic. Un partenaire de publication certifié Google.
 
Augmentez vos revenus publicitaires de 50 à 250% avec Ezoic. Un partenaire de publication certifié Google.
Augmentez vos revenus publicitaires de 50 à 250% avec Ezoic. Un partenaire de publication certifié Google.