Mod rewrite 我无法更改css文件中的URL;在apache中使用mod_重写

Mod rewrite 我无法更改css文件中的URL;在apache中使用mod_重写,mod-rewrite,url-rewriting,Mod Rewrite,Url Rewriting,该网址是在粗体字母,我想作出改变。。。 应该将其重写为url/csmmail/lib/webmail/folderTree.gif 以下是html代码段 <link href="/csmmail/lib/webmail/folderTree.css?v=bfb38b233d72ba6a690a39394d7c964f" type="text/css" rel="stylesheet"> x_2az UL, x_2az LI { list-style-type: none; ma

该网址是在粗体字母,我想作出改变。。。 应该将其重写为url/csmmail/lib/webmail/folderTree.gif

以下是html代码段

<link href="/csmmail/lib/webmail/folderTree.css?v=bfb38b233d72ba6a690a39394d7c964f"  type="text/css" rel="stylesheet">
x_2az UL, x_2az LI {
 list-style-type: none;
 margin: 0px;
 white-space: nowrap;
}
x_2az UL {
 padding: 0px 0px 0px 16px;
}
x_2az LI {
 padding: 1px 0px 1px 0px;
}
x_2az IMG {
 vertical-align: middle;
}
.x_2le {
 margin-right: 3px;
}
.x_2bq {
 vertical-align: bottom;
 margin-left: 0px;
}
.x_2lf {
 background: ***url(/lib/webmail/folderTree.gif***) no-repeat;
 padding: 2px 0 3px 16px;
}
sprite_folder {
}

我认为你做错了,只要做:

RewriteRule ^/lib/webmail/folderTree\.gif$ /csmmail/lib/webmail/folderTree.gif 

您不能真正依赖HTTP\u REFERER,因为所有浏览器都没有设置它。

您希望HTTP\u REFERER与您的.css文件匹配

我猜你是在期待这个,因为你在css文件中引用了这个图像?这是一个错误的假设

引用者将始终是加载到浏览器中的实际页面,而不是css页面

您可以使用HTTP嗅探工具(如fiddler-


尝试删除重写条件,看看是否有效。

Hi Naraen!!!我试过几种可能的组合。比如使用REQUEST_URI代替HTTP_REFERER,但它不会改变css中的URL。我已经通过mozilla的一个附加组件(Live HTTP header)了解到,要获得folderTree.gif,它会生成一个HTTP req,而REFERER是
RewriteRule ^/lib/webmail/folderTree\.gif$ /csmmail/lib/webmail/folderTree.gif