2017-04-23 80 views
0

也許這個問題的標題有點讓你感到困惑,但我會詳細解釋。HTML和CSS文件的URL路徑

想象一下,您正在開發一個網站(PHP SCRIPT),其中包含圖像,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我想我會不得不增加../多次在不同多少子文件夾的文件所在的位置)

任何想法,指導對此有何看法?

+0

在提出任何答案之前,如果問題不清楚,請讓我知道我可以做些什麼來改善它。 – Luka

回答

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 

根的index.php

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

子目錄/索引。php

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