J'essaie d'appliquer https: // www. code> sur toutes mes pages sauf hotels.php code>.
Mon code actuel ci-dessous ajoute www. Code> deux fois, c'est-à-dire https://www.wwww.example.com code> RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} !^\/hotels.php\/
RewriteRule (.*) https://www.%{HTTP_HOST}/$1 [L,R=301]
RewriteCond %{HTTPS} =on
RewriteCond %{REQUEST_URI} \/hotels.php\/
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [L,R=301]
3 Réponses :
Pas un maître avec Htaccess Regex, bit cela fonctionne pour moi:
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteRule (.*) https://www.%1/$1 [R=301,L]
</IfModule>
Essayez ces conditions de réécriture:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# force https:// for all except your desired URLs
RewriteCond %{HTTPS} off
RewriteCond %{THE_REQUEST} !/hotels.php/ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# force http:// for your desired URLs
RewriteCond %{HTTPS} on
RewriteCond %{THE_REQUEST} /hotels.php/ [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Vous devez vérifier si www est dans l'URI de la demande lorsque vous vérifiez HTTPS. Essayez ceci:
Tout fonctionne bien avec cela, mais des hôtels.php toujours en cours de chargement avec https: // ne le redirige pas à http: //
Déjà été posé et répondu à Stackoverflow.
@jasie S'il vous plaît voter pour fermer / drapeau comme dupliquer avec le Q / A approprié.
Réécriture configurée dans .htaccess "LOOPS" jusqu'à ce qu'aucune règle ne correspond plus. après i> vous avez redirigé de manière externe à
https://www.example.com/foo code> déjà (ou si vous avez demandé cela pour commencer par), votre premier ensemble de conditions et de règles Redirige à nouveau - mais la variablehttp_host code> contient maintenantwww.example.com code> déjà, à laquelle vous ajoutez un autrewww. code> devant. Vous avez besoin d'une condition supplémentaire dans cet endroit qui vérifie si le nom d'hôte ne commence pas avecwww. Code> déjà, voir Stackoverflow.com/a/4958847/10283047 pour un exemple.Dupliqué possible de Exception de redirection HTAccess