O Apache ModRewrite falha em um diretório

3

Problema de reescrita do Apache

Estou movendo partes do meu site em 〔xahlee.org〕 para 〔wordyenglish.com〕. Eu tenho isso em ht .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]
…

tudo funciona, exceto o dir começando em 〔lit /〕. O erro é um redirecionamento para 404 no domínio original.

nenhuma outra linha contém "lit /". Não há 〔.htaccess〕 no diretório iluminado.

Ativando o registro de regravação:

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

não parece permitido ou não funciona com o meu ambiente de hospedagem na web. Quando essas linhas estão presentes, o navegador retorna um erro do servidor em qualquer página.

o problema ocorre apenas com aquele diretório específico. Parece que há alguma mágica com "lit /". Alguma sugestão?

    
por Xah Lee 17.07.2012 / 02:13

2 respostas

2

Tente substituir a segunda linha por:

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

Além disso, as regras de log de reescrita devem estar em httpd.conf ou em sua configuração de vhost, e não em .htaccess.

    
por 17.07.2012 / 04:37
0

o problema desapareceu com isso:

• crie um dir "lit", crie um arquivo abaixo dele. • acessar o arquivo através do navegador. • apagar o arquivo e dir. • agora, o redirecionamento de repente funciona.

talvez alguma falha no cache em algum lugar. Não tenho certeza exatamente qual é a causa. Outros dirs que são removidos não têm esse problema. Apenas esta dir.

    
por 17.07.2012 / 06:42