Mod_rewrite .css样式表中的图像现在需要绝对路径


mod_rewrite images in .css stylesheet require absolute path now?

我有以下mod_rewrite代码:

Options +FollowSymLinks
RewriteEngine On
#SecFilterInheritance Off
ErrorDocument 404 /fourohfour.php
RewriteCond %{HTTP_HOST} ^(myurl'.com)$ [NC]   **changed the domain name for this posting **
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
RewriteRule ^articles/([^/]+)/([^/]+)/?$ /article.php?id=$1&articleTopic=$2 [QSA,L]

问题是当我访问article .php web URL时,我的CSS文档中引用的图像不再加载。这可能是因为他们需要myurl.com绝对路径现在我使用mod重写

例如:

    background: #D4D9DD url('images/bg03.jpg');

需要修改为:

    background: #D4D9DD url('http://www.myurl.com/images/bg03.jpg');

但是我在很多CSS文件中有很多图片。

是否有一种方法,我可以修改。htaccess,使CSS中的相对路径保持不变,我不必手动更改我的CSS文件中的每个图像参考?

当你不需要重写图像请求时,给服务器不必要的工作可能不是最好的主意。

假设浏览器正在请求这样的图像:

http://www.myurl.com/article/IDNum/ArticleTitle/bg03.jpg

所以你仍然可以使用相对路径他们只需要考虑假目录:

background: #D4D9DD url('../../images/bg03.jpg');

只需运行大量搜索和替换,将'images/替换为'../../images/

同样的逻辑也将在mod_rewrite规则中工作,但是,再次,为什么使用你不需要的处理器周期?希望有一天你的网站会有高流量,你会感谢自己保持高效率。

或者:http://www.w3schools.com/tags/tag_base.asp

旁注:搜索引擎真的不再关心搜索引擎友好的url了。好久不见了