.htaccess si/d'autre en fonction de {SERVER_NAME}?
J'ai cette .fichier htaccess mais je voudrais qu'à le faire quand je suis sur le site en direct.
Est il possible que je peux:
//if server_name looks like example.com to this
//else dont run this bit
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (auth|register|secure|payment|admin|trading_careers)
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(auth|register|secure|payment|admin|trading_careers)
RewriteRule ^(.*)$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
J'ai essayé de travailler avec le SetEnvIfNoCase
et IfDefine
, sans succès. Ne sais pas vraiment si c'est possible de faire ce que je veux.
Vous en remercie d'avance.
MODIFIER (exemple de solution pour les futurs lecteurs):
//if https is off
RewriteCond %{HTTPS} off
//if server_name like example.com (case insensitive) OR
RewriteCond %{SERVER_NAME} =example.com [NC,OR]
//server_name like www.example.com (case insensitive)...
RewriteCond %{SERVER_NAME} =www.example.com [NC]
RewriteCond %{REQUEST_URI} (auth|register|secure|payment|admin|trading_careers)
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Je vous remercie pour la grande aide.
OriginalL'auteur Frankie | 2010-06-25
Vous devez vous connecter pour publier un commentaire.
Vous pouvez ajouter cette condition à vos règles:
Adams:
ServerName
est également autorisé dans la<VirtualHost>
contexte.Adams: Le premier
=
n'était pas une erreur, mais sur le but. Il indique à l'utilisation simple de comparaison de chaîne au lieu d'une expression régulière comparaison.OriginalL'auteur Gumbo
Si vous utilisez un autre nom d'hôte pour le site en direct:
Il suffit de cocher la HTTP_HOST sur chaque condition aussi:
OriginalL'auteur Marcus Adams