请教,关于apache的rewrite。

在win2003上安装了msi版apache 2.2.6

因为打算做歌曲下载,所以在<directory>标签下添加了下面代码:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://abc.com$ [NC]
RewriteRule (.*)\.mp3 http://abc.com/?404 [L]

上面代码应该没有语法之类的错误吧?

现在的问题是,当我在网页(网页位于http://abc.com站点下)中嵌入播放器调用这台主机的歌曲时,不能正常播放,也不能通过浏览器直接下载。

我开启RewriteLevel调试后,日志里发现:RewriteCond input=''这样的字符串,显然“%{HTTP_REFERER}”没有得到值,所以RewriteCond匹配成功,于是就执行Rule跳转了。

我试着把“%{HTTP_REFERER}”换成“%{HTTP_HOST}”,测试后一看,日志里能够正常获取到HTTP_HOST的值。

请教一下大家,这个“简单的问题”是怎么回事呀?捣鼓了半天就没搞定。