3
votes

Redirigez http vers https avec www en utilisant .htaccess

Comment puis-je rediriger HTTP vers https incluant WWW en utilisant .htaccess ?

Exemple:

  1. Redirigez http://example.com vers https://www.example.com
  2. Redirigez http://www.example.com vers https://www.example.com
  3. Redirigez https://example.com vers https://www.example.com

J'essaye

RewriteEngine On

RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"' [OR]
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [NE,R=301,L]

RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]


6 commentaires

Ce serait formidable si vous pouviez nous montrer ce que vous avez essayé!


@ M.K post mis à jour avec le code


Veuillez ne pas utiliser de balises inutiles - cette question n'est en aucun cas liée à JS, PHP ou HTML


Double possible de Comment rediriger toutes les requêtes HTTP vers HTTPS


@NicoHaase cela ne duplique pas. vous pouvez l'appeler question similaire et j'utilise la balise que stackoverflow me suggère.


Pouvez-vous expliquer la différence entre votre cas d'utilisation et celui de l'autre question? Je n'en vois aucun


4 Réponses :


0
votes
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80 //If you want the condition to match port
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Try in this. Hope this may help you.

1 commentaires

Veuillez ajouter quelques explications à ces règles - «essayez ceci» n'aide pas le PO à découvrir ce que vous avez changé et pourquoi ce changement fait une différence



3
votes

Vous pouvez mettre le code suivant dans votre fichier .htaccess

RewriteEngine On
# ensure www.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# ensure https
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ce fichier .htaccess redirigera http://example.com/ à https://example.com/ .

Explication du code n:

  • [NC] correspond aux versions majuscules et minuscules de l'URL
  • L'en-tête X-Forwarded-Proto (XFP) est un en-tête standard de facto pour identifier le protocole


0 commentaires

0
votes

Essayez ceci

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]


1 commentaires

Veuillez ajouter quelques explications à ces règles - «essayez ceci» n'aide pas le PO à découvrir ce que vous avez changé et pourquoi ce changement fait une différence



0
votes

APACHE

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /srv/www/example.com/keys/ssl.crt;
    ssl_certificate_key /srv/www/example.com/keys/www.example.com.key;
    return 301 https://www.example.com$request_uri;
}

NGINX

RewriteCond %{HTTPS} off 
RewriteCond %{HTTPS_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]


0 commentaires