HTML和CSS文件中的网址路径

时间:2017-04-23 19:55:34

标签: javascript html css

也许这个问题的标题对你来说有点混乱,但我会详细解释。

想象一下,您正在开发一个网站(PHP SCRIPT),其中包含css中的图像,js文件和背景图片网址。 如果购买它的用户将其放在子文件夹中,则需要使其正常工作:

www.example.com/subfolder

或当他把它放在www.example.com

如果我在CSS中使用路径作为背景图像:

background: url(/assets/img/thumbs-up.png) no-repeat;

如果用户在www.example.com中放置脚本,但如果他放在www.example.com/subfolder,则浏览器会请求www.example.com/assets/img/thumbs-up.png代替www.example.com/subfolder/assets/img/thumbs-up.png

通常使用此

解决
background: url(assets/img/thumbs-up.png) no-repeat;

但不,在我的情况下,浏览器正在请求此网址

http://www.example.com/subfolder/assets/css/assets/img/thumbs-up.png

这部分assets/css是CSS文件所在的位置。

我使用

解决了这个问题
background: url(../../assets/img/thumbs-up.png) no-repeat;

这适用于根www.example.comwww.example.com/subfolder 但这是一个好习惯吗?

对于JS文件,我包含这样的脚本

<script src="assets/js/single_load.js"></script>

这是有效的,因为具有此代码的文件位于脚本的根目录中。 (http://www.example.com/index.phphttp://www.example.com/subfolder/index.php正在调用它,如果子文件夹中的文件名为JS,我认为我必须多次添加../,具体取决于子文件夹文件的位置数。)

有什么想法,指导吗?

1 个答案:

答案 0 :(得分:0)

在所有PHP脚本中为CSS文件使用一个路径。

图片路径位于 CSS 路径,而不是PHP

例如:

- index.php
- subfolder
    --index.php
-assets
    --css
        ---style.css
    --img

的style.css

background: url(../assets/img/thumbs-up.png) no-repeat;

的config.php

<?php
$root_path = "www.example.com";
//OR $_SERVER["REQUEST_URI"]; if you have one index.php

root index.php

<?php include "config.php"; ?>
<link href="<?php echo $root_path;?>/assets/css/style.css">

子文件夹/ index.php的

<?php include "config.php"; ?>
<link href="<?php echo $root_path;?>/assets/css/style.css">