现在.css stylesheet中的mod_rewrite图片需要绝对路径吗?

时间:2014-05-29 14:57:38

标签: php css .htaccess mod-rewrite

我有以下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]

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

例如:

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

需要更改为:

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

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

有没有办法可以修改.htaccess,这样可以保留CSS中的相对路径,而且我不必手动更改CSS文件中的每个图像引用?

1 个答案:

答案 0 :(得分:0)

可能不是最好的想法,当您不必要时,为服务器提供重写图像请求的不必要工作。

据推测,浏览器正在请求图像:

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了。已经好几年了。