Quero ativar o log de reescrita para poder depurar uma regra de reescrita, mas adicionar as diretivas RewriteLog está causando um erro 500.
Versão informação:
Ubuntu 14.04
Server version: Apache/2.4.12 (Ubuntu)
Server built: Feb 4 2015 14:22:06
conteúdo de.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog /var/log/apache2/rewrite.log
RewriteLogLevel 5
RewriteBase /
RewriteRule ^/wordpress/wp-content/(.*)$ /wp-content/$1 [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
No log de erros, vejo:
/var/www/path.to/wordpress/.htaccess: Invalid command 'RewriteLog', perhaps misspelled or defined by a module not included in the server configuration
Responder1
Além de ter esquecido que o log não pode ser configurado em .htaccess
arquivos, isso também acabou sendo um problema de versão do Apache. A diretiva RewriteLog foi substituída em versões mais recentes e adicionar o seguinte à configuração do Virtualhost habilitou o log de reescrita para mim:
LogLevel alert rewrite:trace3 (can be increased to trace8)
Do manual:
Aqueles familiarizados com versões anteriores do mod_rewrite sem dúvida procurarão as diretivas RewriteLog e RewriteLogLevel. Esta funcionalidade foi completamente substituída pela nova configuração de log por módulo mencionada acima.
Para filtrar essas mensagens no log de erros, você pode fazer algo como:
tail -f error_log|fgrep '[rewrite:'
Responder2
Não posso deixar de me repetir:
A maioria das pessoas que usam .htaccess e perguntam sobre isso no ServerFault não deveriam usar .htaccess em primeiro lugar, pois é uma solução de usuário final nunca destinada a administradores:
Você deveevite usar arquivos .htaccess completamentese você tiver acesso ao arquivo de configuração do servidor principal httpd. O uso
.htaccess
de arquivos torna seu servidor Apache http mais lento. Qualquer diretiva que você possa incluir em um arquivo .htaccess é melhor definida em um bloco Directory, pois terá o mesmo efeito com melhor desempenho.
Fonte: Manual do Apache
Aparentemente, a maioria das pessoas que publicam suas configurações parecem estarprogramadores de culto à cargainteressado em copiar arquivos .htaccess cegamente, sem entender os motivos.
Seu problema é um excelente exemplo: oRewriteLog
directiva só é válida nocontextode uma configuração de servidor ou host virtual ...
Isso significa que énão permitidoem um .htaccess
arquivo!