apache mod rewrite - como determinar qual arquivo no disco está sendo atingido?

0

Um projeto no qual estou trabalhando recentemente existe há anos e conseguiu acumular várias centenas de RewriteRule s bastante complexas dentro dos arquivos conf do Apache.

Ao trabalhar com alguns arquivos, consegui descobrir quais regras os afetam. No entanto, em outros casos, estou completamente preso em descobrir isso. Meu método até agora tem sido procurar manualmente pelos vários arquivos conf e grep deles para determinadas palavras-chave.

Existe uma maneira melhor de fazer isso?

Algumas das coisas que consigo pensar são:

  • Existe um comando ou REPL onde posso inserir um caminho e retornar esse nome do arquivo que ele serve?
  • Existe uma ferramenta que permite fazer o acima, e também destacar quais linhas nos arquivos conf reescreveram essa regra?
  • Existe uma maneira de inspecionar os arquivos de log para determinar o caminho de entrada e o caminho de arquivo correspondente?

... mas não tenho certeza de onde começar com qualquer um desses.

    
por bguiz 12.03.2014 / 00:56

2 respostas

2

Por favor, ative a diretiva RewriteLog que Paul mencionou acima. Em seguida, defina o valor da diretiva RewriteLogLevel como 2.

Depois disso, comece a aumentar o valor de RewrireLogLevel até 9 até ver os detalhes necessários registrados no arquivo de log.

    
por 12.03.2014 / 14:59
0

concorda com o acima, para habilitar o registro de reescrita, basta adicionar

RewriteLog <file-path>
RewriteLogLevel 2

para o seu arquivo virtualhost, reinicie o apache

o arquivo man para mod rewrite pode ser encontrado aqui

    
por 12.03.2014 / 15:16