access log control while maintaining internal redirection to WordPress
Jan-Philip Gehrcke
jgehrcke at googlemail.com
Mon Sep 24 21:11:21 UTC 2012
Hello!
I created a WordPress page with permalink
http://domain.tld/health_status for WordPress health monitoring. It's
accessed frequently, so I don't want these requests to appear in my
access log.
My basic "rewrite rule" for all WordPress pages is:
location / {
try_files $uri $uri/ /index.php?q=$args;
}
Now, on the same level, I tried
location /health_status {
access_log off;
#try_files $uri $uri/ /index.php?q=$args;
}
From the nginx location documentation: "Literal strings match the
beginning portion of the query - the most specific match will be used"
/health_status is more specific than /, so this block takes action when
I request http://domain.tld/health_status.
With the `try_files` line commented out (as above), the request does not
show up in the access log, hurray, but obviously I just get a 404 error,
because nginx does not redirect this request to WordPress.
With the `try_files` line being active, an internal redirect to
WordPress' index.php takes place and the /health_status WordPress page
is shown in the browser. However, after the internal redirect the
location /health_status block is not in action anymore and the request
ends up in the access log.
How to solve this problem cleanly? Do I now have to add another block
matching the actual /index.php?q=healthstatuswhatever request that takes
place after the internal redirect?
Thanks!
Jan-Philip
More information about the nginx
mailing list