Comment puis-je rediriger HTTP vers https incluant WWW en utilisant .htaccess ?
Exemple:
- Redirigez http://example.com vers https://www.example.com
- Redirigez http://www.example.com vers https://www.example.com
- 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]
4 Réponses :
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.
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
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 X-Forwarded-Proto (XFP) est un en-tête standard de facto pour identifier le protocole Essayez ceci
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
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
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]
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