Eu criei uma página do WordPress com permalink http://domain.tld/health_status
para monitoramento de integridade do WordPress. É acessado com frequência, então não quero que essas solicitações apareçam no meu log de acesso.
A regra básica "reescrever" para todas as páginas do WordPress é:
location / {
try_files $uri $uri/ /index.php?q=$args;
}
Agora, no mesmo nível, tentei
location /health_status {
access_log off;
#try_files $uri $uri/ /index.php?q=$args;
}
Da nginx documentação de localização :
Literal strings match the beginning portion of the query - the most
specific match will be used
/health_status
é mais específico que /
, por isso, esse bloco age quando eu solicito http://domain.tld/health_status
.
Com a linha try_files
comentada (como acima), a solicitação não aparece no log de acesso, hurray, mas obviamente eu recebo um erro 404, porque o nginx não redireciona essa solicitação para o WordPress.
Com a linha try_files
sendo ativada, um redirecionamento interno para o WordPress ' index.php
ocorre e a página /health_status
WordPress é mostrada no navegador. No entanto, após o redirecionamento interno, o bloco location /health_status
não está mais em ação e a solicitação é encerrada no log de acesso.
Como resolver este problema de forma limpa? Agora preciso adicionar outro bloco correspondente à solicitação /index.php?q=healthstatuswhatever
real que ocorre após o redirecionamento interno?
Obrigado!