老实说,我不明白你的设置/问题,但我认为如果你能更好地理解相对 URL 的工作原理,你可以自己弄清楚。
在您的服务器上,您的文件位于类似的位置,
/var/www/html/index.html
/var/www/html/css/styles.css
/var/www/html/img/background.png
在您的计算机上,您的文件位于类似的位置,
C:\Users\Nani\Desktop\Website\index.html
C:\Users\Nani\Desktop\Website\css\styles.css
C:\Users\Nani\Desktop\Website\img\background.png
在你的 styles.css 中有这样的东西,
body {
background-image: url('/img/background.png');
}
以/ 开头的URL 告诉浏览器将其解释为根目录。在 Windows PC 上为C:\,在 Linux PC 上为/。
但是,当您从诸如https://example.com 之类的网址在线访问该页面时,根目录将变为https://example.com/。
因此,使用/img/background.png 将使其在在线时查找https://example.com/img/background.png 的图像,但在您的本地计算机上它将查找C:\img\background.png 的图像
像这样以不带斜线的 URL 开头,img/background.png 会查找相对于 css 文件所在文件夹的图像。因此,在这种情况下,在线它会在 https://example.com/css/img/background.png 和您的本地机器,它将在C:\Users\Nani\Desktop\Website\css\img\background.png中查找
在我的示例中,最好的解决方案是使用../img/background.png,它将查找相对于css 文件夹的一个目录,然后在img 文件夹中查找。这将在您自己的计算机上和上传后始终如一地工作。
假设问题是声明 url 路径的方式,这应该足以弄清楚您需要做什么。否则,问题可能出在其他问题上。例如,您似乎正在使用 SCSS。可能 SCSS 没有在您的本地机器上编译(或者有一段时间没有编译),但它是在实时服务器上编译的?