Je ne sais pas pourquoi cela ne fonctionne pas:
RewriteEngine On RewriteCond %{HTTP_HOST} example.com$ [NC] RewriteRule ^.+ http://example.com [L]
Le RewriteCond
fonctionne aussi loin que je peux.
Pour moi, le RewriteRule
lit comme suit:
^
Commence le match .+
Un ou plusieurs caractères Pourtant, Firefox 44 me dit
La page ne redirige pas correctement
Firefox a détecté que le serveur redirige la demande pour cette adresse d’une manière qui ne se terminera jamais.
Si RewriteRule
commençait par ^.*
, Je m’attendrais à ce que le serveur soit pris dans une boucle sans fin.
Mais ^.+
Doit travailler, non?
Vous obtenez une boucle de redirection en raison de l’ajout du gestionnaire DirectoryIndex
dans REQUEST_URI.
Pour résoudre ce problème, vous pouvez utiliser cette règle:
RewriteCond %{HTTP_HOST} www.localhost$ [NC] RewriteCond %{REQUEST_URI} !^/index\. [NC] RewriteRule ^.+ http://www.localhost [L,R]
RewriteCond %{REQUEST_URI} !^/index\. [NC]
RewriteCond %{REQUEST_URI} !^/index\. [NC]
arrêtera la boucle de redirection car /index.html
ou /index.html
est généralement le gestionnaire DirectoryIndex
.