我有一个生产和开发服务器。问题出在目录结构上。
开发:
http://dev.com/subdir/images/image.jpg
http://dev.com/subdir/resources/css/style.css
生产:
http://live.com/images/image.jpg
http://live.com/resources/css/style.css
如何让css
文件夹中的style.css
在两台服务器上使用background: url
属性的相同路径?有什么技巧可以用在相对路径上吗?
发布于 2011-04-28 16:01:02
网址是relative to the location of the CSS file,所以这对你来说应该是有效的:
url('../../images/image.jpg')
相对URL返回两个文件夹,然后是images
文件夹-只要结构相同,这两种情况都应该有效。
来自https://www.w3.org/TR/CSS1/#url
部分
是相对于样式表源而不是相对于文档URL进行解释的
发布于 2016-08-09 22:01:51
就我个人而言,我会在.htaccess文件中修复这个问题。你应该有权访问它。
将您的CSS URL定义为:
url(/image_dir/image.png);
在您的.htacess文件中,放入:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^image_dir/(.*) subdir/images/$1
或
RewriteRule ^image_dir/(.*) images/$1
根据网站的不同。
发布于 2011-04-28 16:11:12
我也有同样的问题。每次我想发布我的css的时候..我不得不搜索/替换..相对路径对我也不起作用,因为从开发到生产的相对路径是不同的。
终于厌倦了搜索/替换,我创建了一个动态css (例如www.mysite.com/css.php)它是一样的,但现在我可以在css中使用我的php常量了。像这样的
.icon{
background-image:url('<?php echo BASE_IMAGE;?>icon.png');
}
让它动态化也不是一个坏主意,因为现在我可以使用YUI压缩器压缩它,而不会丢失我的开发服务器上的原始格式。
祝好运!
https://stackoverflow.com/questions/5815452
复制相似问题