2013-07-15 4 views
2

Je souhaite rediriger l'ensemble de mon site, y compris tous les sous-domaines, vers https.Rediriger l'intégralité du site vers https

Est-ce que cela fonctionnera?

RewriteEngine on 
RewriteCond %{HTTPS} !=on 
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] 
+0

-vous le tester à partir de votre propre? – Usman

Répondre

1

Bien que votre code puisse fonctionner, mais je recommanderais d'utiliser %{HTTP_HOST} au lieu de %{SERVER_NAME}. S'il vous plaît comprendre la différence entre 2 variables. %{SERVER_NAME} est le nom du serveur tel qu'il est configuré dans votre configuration Apache mais plus tard, il s'agit du nom de domaine reçu en temps réel dans la requête HTTP. Ainsi, au lieu de l'utilisation de code ceci:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTPS} Off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

Afin d'exclure ci-dessus règle pour une utilisation sous-domaine particulier quelque chose comme ce code:

RewriteCond %{HTTP_HOST} !^sub\.domain\.com$ [NC] 
RewriteCond %{HTTPS} Off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
0

Oui, cela fonctionnera.

L'important est de s'assurer que la règle est avant toutes les règles de routage que vous pouvez avoir et qu'aucune autre règle ne redirige vers http://.

+0

Merci! Si je voulais rediriger le site entier sauf un sous-domaine, comment pourrais-je m'y prendre? –

Questions connexes