2010-01-30 4 views
1

Le titre ne donne pas justice à la question.RewriteRule entraîne une boucle de redirection infinie

J'ai un site et je veux qu'il soit redirigé vers un sous-dossier.

Je possède ce moment:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^mysite.net$ [OR] 
RewriteCond %{HTTP_HOST} ^www.mysite.net$ 
RewriteRule ^(.*)$ "http\:\/\/www\.mysite\.net\/subfolder$1" [R=301,L] 

Le problème est qu'il en résulte une boucle de redirection infinie. Il arrive à/et le redirige vers un sous-dossier et quand il y arrive, il le redirige de nouveau. Comment arrêter la redirection dès qu'elle arrive dans mon sous-dossier désigné?

+0

Thi s devrait être marqué comme mod-rewrite. Le titre pourrait être - RewriteRule aboutit à une boucle de redirection infinie. –

+0

Merci pour cela. renommer la question et republiée. –

Répondre

1

Je pense que je l'ai en ce moment:

RewriteEngine on 
RewriteRule !^(subfolder/) http://www.mysite.net/subfolder/ [L,R] 

Vous avez un peu d'inspiration d'une ici réponse supprimé:

0

Ajoutez une règle d'exclusion pour la cible.

RewriteEngine on 

RewriteRule ^/subfolder - [L] 

RewriteCond %{HTTP_HOST} ^mysite.net$ [OR] 
RewriteCond %{HTTP_HOST} ^www.mysite.net$ 
RewriteRule ^(.*)$ "http\:\/\/www\.mysite\.net\/subfolder$1" [R=301,L] 
+0

désolé qui n'a pas fonctionné du tout –

0

En outre, pour la RewriteCond, vous pouvez le faire:

RewriteCond %{HTTP_HOST} ^(www.)?mysite.net$ 

pour enregistrer une ligne