如何在css URL中使用相对/绝对路径?

dan*_*car 80 css relative-path absolute-path

我有一个生产和开发服务器.问题是目录结构.

发展:

  • 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

怎样才可以有一个style.csscss文件夹在两台服务器上使用相同的路径,background: url财产?我可以使用相对路径的技巧吗?

Kob*_*obi 118

url是相对于CSS文件的位置,所以这应该适合你:

url('../../images/image.jpg')
Run Code Online (Sandbox Code Playgroud)

相对url返回两个文件夹,然后到images文件夹 - 它应该适用于两种情况,只要结构是相同的.

来自http://www.w3.org/TR/REC-CSS1/#url:

部分URL相对于样式表的来源进行解释,而不是相对于文档


小智 7

就个人而言,我会在.htaccess文件中修复此问题.你应该有权访问它.

像这样定义CSS URL:

url(/image_dir/image.png);
Run Code Online (Sandbox Code Playgroud)

在你的.htacess文件中,放入:

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^image_dir/(.*) subdir/images/$1
Run Code Online (Sandbox Code Playgroud)

要么

RewriteRule ^image_dir/(.*) images/$1
Run Code Online (Sandbox Code Playgroud)

取决于网站.