2010-09-22 5 views
0

Ok les gars, je suis à perte.Pourquoi cette règle RewriteRule est-elle brisée?

RewriteCond %{HTTP_HOST} ^domain.nl$ 
RewriteRule ^(.*)$ poker/$1 [L] 

Me déclenche une erreur 500. Si je supprime la redirection et que je vais dans/poker/manuellement cela fonctionne. Si j'utilise ceci:

RewriteCond %{HTTP_HOST} ^domain.nl$ 
RewriteRule ^$ poker/ [L] 

La première page est affichée (mais le css pas, parce que de toute évidence rien après la/n'est pas redirigé

Ce qui pourrait provoquer ce (.*) pour casser

Avant.? cette règle est tout cela pour supprimer www:

RewriteCond %{HTTP_HOST} ^www\.([a-z-]+)\.([a-z]{2,3}) 
RewriteRule ^(.*)$ http://%1.%2/$1 [R=301,L] 

Après rien qui pourrait interférer

.
+0

Avez-vous essayé d'utiliser les directives 'RewriteLog' et' RewriteLogLevel' pour le déboguer? –

+0

Il existe probablement aussi un message d'erreur dans le journal des erreurs Apache. – slosd

+0

Quelque chose que j'ai eu des problèmes avec est un RewriteBase qui a cassé RewriteRules. Qu'est-ce que vous avez défini pour RewriteBase? – slosd

Répondre

0

C'était si facile.

RewriteCond %{HTTP_HOST} ^domain.nl$ 
RewriteRule ^(.*)$ poker/$1 [L] 

Donne une boucle infinie. Je viens d'ajouter:

RewriteCond %{HTTP_HOST} ^domain.nl$ 
RewriteCond %{REQUEST_URI} !^/poker 
RewriteRule ^(.*)$ poker/$1 [L] 

(ou comme je viens de découvrir, créer un .htaccess vide avec juste RewriteEngine On dans le répertoire/poker/dir a fait l'affaire aussi bien).