我有一个带MultiViews的Apache服务器,这是我的目录布局:
/style.css [text/css]
/style.xsl [text/xsl]
/index.xml [application/xml]
在我的index.xml文件中,我引用了XSL:
<?xml-stylesheet href="/style"?>
在XSL中,我引用了CSS:
<link rel="stylesheet" href="/style" />
这种方法在我尝试过的任何浏览器中都不起作用。
在Firefox-16.0.1中,我看到以下消息:
Error loading stylesheet: An XSLT stylesheet does not have an XML mimetype:
我调试了HTTP会话,我注意到Firefox正在发送:
Accept: */*
Firefox正在请求任何类型的内容,因此Apache选择发送/style.css。
我希望需要特定内容类型的Web浏览器为这些内容类型发送显式的Accept标头。
我准备提交一个错误,当我发现另外两个明确记录掉除了Accept约束的其他错误时。
我可以通过将扩展名放在文件名中来解决这个问题,但这应该与图像的内容协商相同,如W3C blog中所述。好处是他们可以在以后添加新的内容类型,而无需更新任何文档。
这是一个错误,还是我弄错了?