我有以下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文件中的每个图像引用?
答案 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了。已经好几年了。