obras mod_rewrite em arquivos .htaccess, mas não em apache2.conf
-
05-07-2019 - |
Pergunta
Eu tenho o seguinte em um arquivo .htaccess como um teste:
RewriteEngine on RewriteRule ^(.*)$ /backend/$1
Isso funciona como esperado. Eu era capaz de obter o registo reescrita trabalhando com o seguinte na apache2.conf:
<IfModule mod_proxy.c> RewriteLog "/tmp/REWRITE.log" RewriteLogLevel 9 </IfModule>
O arquivo de log é criado e informações registros de depuração como esperado. No entanto, quando eu excluir o arquivo .htaccess, alterar a directiva apache2.conf como se segue, e reiniciar o apache para fazer o globalmente equivalente, ele não funciona.
<IfModule mod_proxy.c> RewriteLog "/tmp/REWRITE.log" RewriteLogLevel 9 RewriteEngine on RewriteRule ^(.*)$ /backend/$1 </IfModule>
Eu estou usando Apache / 2.0.55 no Ubuntu.
Ajuda!
Solução
Você já tentou isso?
RewriteEngine on
RewriteRule ^(.*)$ /backend/$1
<IfModule mod_proxy.c>
RewriteLog "/tmp/REWRITE.log"
RewriteLogLevel 9
</IfModule>
Porque esta maneira que eu era capaz de fazer reescrever, mas log não funcionavam trabalhou, portanto, uma questão em mod_proxy.c
Outras dicas
Você já considerou transformar RewriteEngine on antes quaisquer outras directivas reescrita?
São as suas directivas RewriteRule contido dentro de uma definição de servidor particular? Você tem servidores virtuais no trabalho?
A razão que eu peço é que você diz isso funciona em um arquivo .htaccess
que é diretório específico; embora oficialmente a documentação diz que RewriteRule pode aplicar a configuração do servidor, hospedeiros virtuais, diretório, .htaccess.