J'ai jeté un coup d'œil aux questions existantes, mais je n'ai rien trouvé qui puisse fonctionner pour moi.
J'utilise actuellement un site avec un certificat SSL sécurisé. Vous pouvez y accéder à l’adresse https://www.example.co.uk . Un problème est que le site peut également être consulté à l’adresse http://www.example.co.uk - Je ne sais pas. veux que cela soit possible. J'en ai besoin pour rediriger de http à https.
J'ai trouvé cet extrait de code à utiliser dans un fichier .htaccess.
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_Host} ^example.co.uk [NC]
RewriteRule ^(.*)$ https://example.co.uk/$1 [L,R=301]
Cela fonctionne bien lorsque l'utilisateur entre example.co.uk dans la barre d'adresse, mais je dois également ajouter une déclaration conditionnelle de sorte que, si l'utilisateur entre "www.example.co.uk" ou " http: //www.example.co.uk '.
J'ai essayé d'utiliser le genre de [OU], mais cela finit par créer des erreurs de serveur.
Toute aide et suggestions sont appréciées.
À votre santé.
Essayez ce qui suit:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
Vous pouvez également rediriger en fonction du numéro de port, par exemple:
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Cela redirigera toutes les demandes reçues sur le port 80 vers HTTPS.
Ajoutez le code suivant dans le fichier .htaccess.
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
change exemple.com avec le domaine de votre site Web
Vous pouvez trouver le didacticiel de redirection d’URL à partir d’ici - Rediriger les fichiers non-www vers www & HTTP vers HTTPS en utilisant le fichier .htaccess
Essayez ceci, je l'ai utilisé et ça marche bien
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI}
Essaye ça:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} [R,L]
Source: http://www.ndchost.com/wiki/Apache/redirect-http-to-https
(J'ai essayé tellement de blocs de code différents, ce 3-liner a parfaitement fonctionné)
J'essaie tout le code ci-dessus mais aucun code ne fonctionne pour mon site Web. J'essaie ensuite ce code et ce code fonctionne parfaitement pour mon site Web. Vous pouvez utiliser la règle suivante dans htaccess:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
//Redirect http to https
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_Host} ^(www\.)?example\.com
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
//Redirect non-www to www
RewriteCond %{HTTP_Host} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
</IfModule>
Changez exemple.com avec votre nom de domaine et désolé pour mon anglais médiocre.
Pour moi ne travaille que cette variante:
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
Merci http://www.reg.ru/support/hosting-i-servery/sajty-i-domeny/kak-dobavit-redirekt/redirekt-s-http-na-https (en russe)
Si vous voulez rediriger HTTP vers HTTPS et ajouter www avec chaque URL, utilisez l’accès htaccess ci-dessous.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_Host} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_Host}/$1 [R=301,L]
il va d'abord rediriger HTTP vers HTTPS, puis il sera redirigé vers www.
# Switch rewrite engine off in case this was installed under HostPay.
RewriteEngine Off
SetEnv DEFAULT_PHP_VERSION 7
DirectoryIndex index.cgi index.php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# RewriteCond %{HTTP_Host} ^compasscommunity.co.uk\.com$ [NC]
# RewriteRule ^(.*)$ https://www.compasscommunity.co.uk/$1 [L,R=301]
Perfect Code Aller à l'index HTML:
RewriteEngine on
RewriteCond %{HTTP_Host} ^YourNameWebsite\.com$ [OR]
RewriteCond %{HTTP_Host} ^www\.YourNameWebsite\.com$
RewriteRule ^/?$ "https\:\/\/YourNameWebsite\.com\/index\.html" [R=301,L]
Ou
Code parfait Aller à l'index PHP:
RewriteEngine on
RewriteCond %{HTTP_Host} ^YourNameWebsite\.com$ [OR]
RewriteCond %{HTTP_Host} ^www\.YourNameWebsite\.com$
RewriteRule ^/?$ "https\:\/\/YourNameWebsite\.com\/index\.php" [R=301,L]
Pour rediriger http://example.com
ou http://www.example.com
vers https://www.example.com
de manière simple, vous pouvez utiliser la règle suivante dans htaccess:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond www.%{HTTP_Host} ^(?:www\.)?(www\..+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R]
[Testé]
% {REQUEST_SCHEME} variable est disponible depuis Apache 2.4, cette variable contient la valeur du schéma demandé (http ou https). Sur Apache 2.4, vous pouvez utiliser la règle suivante:
RewriteEngine on
RewriteCond %{REQUEST_SCHEME} ^http$
RewriteCond %{HTTP_Host} ^(www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%{HTTP_Host}%{REQUEST_URI} [NE,L,R]
Il existe des moyens plus sûrs et plus sûrs d’assurer que tout votre trafic dépasse https
. Par exemple, configurez deux hôtes virtuels et redirigez tout le trafic de votre http
vers votre hôte https
. Plus d'informations à ce sujet dans cette réponse ici sur security.stackexchange.com .
Avec la configuration d'un hôte virtuel pour la redirection, vous pouvez envoyer un statut 301 (redirection permanente) afin que le navigateur sache que toutes les demandes suivantes doivent être envoyées au serveur https vers lequel il a été redirigé. Par conséquent, aucune autre requête http ne sera faite après la première réponse de redirection.
Vous devez également vérifier soigneusement les réponses données, car avec un jeu de règles de réécriture incorrect, vous risquez de perdre les paramètres de requête de vos demandes entrantes.
S'agissant d'un des résultats les plus fréquents de la recherche, si vous essayez d'ajouter http à la redirection https sur AWS Beanstalk, la solution acceptée ne fonctionnera pas.
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^.*$ https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
Essayez ceci RewriteCond %{HTTP_Host} !^www. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_Host}/$1 [R=301,L]
Aucun de ceux-ci n'a fonctionné pour moi, à part cela. Mon site était hébergé dans https://www.asmallorange.com
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_Host}/$1 [R=301,L]