Como ecoar do .htaccess?

13

Escrevemos muito código no htaccess, mas qual é o melhor método para depurar além de atualizar a página?

Existe alguma maneira de escrever em um arquivo? ou existe alguma função de eco / impressão?

Simplesmente como eu sei quais são meus $ 1 $ 2 $ 3?

Devrim
fonte

Respostas:

8

Você pode tentar o método mencionado na postagem do blog intitulada Algumas maneiras de depurar mod_rewrite :


Basicamente, o que você faz é despejar algumas das informações que o mod_rewrite está usando de volta para os cabeçalhos, depois use as extensões Firebug ou LiveHTTP Headers no Firefox para observar os cabeçalhos e ler suas informações de depuração.

No .htaccess, use a condição e regra:

RewriteCond %{QUERY_STRING} !vardump
RewriteRule (.*) http://www.example.com/$1?vardump&thereq=%{THE_REQUEST}&reqhost=%{HTTP_HOST} [R=301,L,QSA]
nEJC
fonte
Eu sugeriria fazer o redirecionamento 302 para evitar problemas com o resultado 301 em cache em um navegador depois de concluir um teste.
IPSUS 28/03
9

Tente esse:

RewriteLog "/myfolder/mylogfile.log" 
RewriteLogLevel 3

Essas são apenas expressões regulares com algumas adições, portanto, você pode usar o Regex Coach para testes iniciais em URLs ou qualquer outra ferramenta de depuração Regex.

Felicidades! :)

Kolypto
fonte
Ferramenta muito útil, mas lembre-se de removê-lo após a depuração, pois você pode obter um arquivo de log enorme!
Coops
6
Aparentemente, isso não funciona em .htaccessarquivos. Tem que ir, o httpd.confque significa que geralmente não é possível em contas de hospedagem compartilhadas. :-(
Simon East
2

Aqui está um pequeno truque interessante para "ecoar" variáveis ​​de um arquivo .htaccess.

Se você tiver AllowOverride definido como FileInfo, poderá definir e acionar uma resposta de erro personalizada em seu arquivo .htaccess com as variáveis ​​desejadas na saída:

ErrorDocument 404 "Request: %{THE_REQUEST} Referrer: %{HTTP_REFERER} Host: %{HTTP_HOST}"
RewriteRule ^ - [L,R=404]

Dependendo de como você é criativo com expressões, você pode gerar muitas informações úteis!

Você não está limitado a usar o status 404 no seu conteúdo "ecoado". Você pode até substituir o status 200 "ErrorDocument" - que, juntamente com as <If>diretivas, poderia fazer outros usos bastante interessantes desse hack para retornar o conteúdo diretamente de um arquivo .htaccess.

PeterA
fonte