3 votes

Échec d'Apache ModRewrite sur un répertoire

Problème de réécriture Apache

Je déplace des parties de mon site sur xahlee.org vers wordyenglish.com. J'ai ceci dans .htaccess:

…
RewriteRule ^PageTwo_dir/Vocabulary_dir/(.*)$ http://wordyenglish.com/words/$1 [R=301,L]
RewriteRule ^lit/(.*)$ http://wordyenglish.com/lit/$1 [R=301,L]
RewriteRule ^lojban/(.*)$ http://wordyenglish.com/lojban/$1 [R=301,L]
…

tout fonctionne, sauf le répertoire commençant par lit/. L'erreur est une redirection vers une erreur 404 sur le domaine d'origine.

aucune autre ligne ne contient “lit/”. Il n'y a pas de .htaccess dans le répertoire lit.

Activation du journal de réécriture:

RewriteLog "logs/xx-RewriteLog.log"
RewriteLogLevel 9

semble ne pas être autorisé ou ne fonctionne pas avec mon environnement d'hébergement web. Lorsque ces lignes sont présentes, le navigateur renvoie une erreur serveur sur n'importe quelle page.

le problème ne se produit qu'avec ce répertoire particulier. Il semble qu'il y ait quelque chose de particulier avec “lit/”. Des suggestions?

2voto

Ansari Points 176

Essayez de remplacer la deuxième ligne par :

RewriteCond %{HTTP_HOST} .*
RewriteRule ^lit/(.*)$ http://wordyenglish.com/lit/$1 [R=301,L]

De plus, les règles de journalisation de réécriture doivent être placées dans httpd.conf ou votre configuration vhost, et non dans .htaccess.

0voto

Gonzalo Méndez Points 163

Le problème a disparu avec ceci:

• créer un répertoire "lit", créer un fichier en dessous. • accéder au fichier via le navigateur. • supprimer le fichier et le répertoire. • maintenant, la redirection fonctionne soudainement.

peut-être un problème de cache quelque part. Pas sûr exactement de la cause. Les autres répertoires supprimés n'avaient pas ce problème. Juste ce répertoire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X