bind9.xsl vs. /bind9.xsl

Chris Thompson cet1 at
Thu Jul 14 19:28:13 UTC 2011

BIND recognises just two URLs on the statistics channel, "/" and "/bind9.xsl".
The XML it delivers in response to the first starts

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/bind9.xsl"?>

so that a web browser will fetch the second to render the result.

I wonder whether it would be better for the href to be a relative URL instead:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="bind9.xsl"?>

Why should it matter? I have the following situation: a virtual machine
running an Apache web server and a BIND hidden master for vanity zones
(and a MySQL database sitting between them). To make the BIND statistics
channel conveniently available to suitably authorised users I can make
http://HOSTNAME/BIND-status/ do a sneaky bit of reverse proxying, with
DOCUMENTROOT/BIND-status/.htaccess containing

  ReWriteEngine On
  ReWriteRule ^(.*)$ http://[::1]:8053/$1 [P,NE]

(port 8053 on the loopback ::1 being the statistics channel, of course).

This almost works, except that the browser tries to get the style sheet from
http://HOSTNAME/bind9.xsl rather than http://HOSTNAME/BIND-status/bind9.xsl
(which would work). Of course, that can be fixed up in various ways, most
crudely by just copying bind9.xsl from the distribution into the top level
of the DOCUMENTROOT, but it's nigglingly annoying.

So is there anything that could go wrong if the style sheet reference *was*
relative rather than absolute?

Chris Thompson
Email: cet1 at

More information about the bind-users mailing list