2013-08-26 39 views
5

我想使用基本標記設置本地站點根。以下代碼不起作用。難道我做錯了什麼?如何將mysite文件夾設置爲基礎?html <base>標記引用本地文件夾

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <base href="file:///home/me/mysite"></base> 
     <title> Asset Take On Process </title> 
     <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
     <link rel="stylesheet" type="text/css" href="/css/main.css" /> 
    </head> 
    <body> 
     some stuff 
    </body> 
    </html> 

站點文件夾結構

mysite 
    |___css 
    |___img 
    |___js 

等..

當我加載網頁它不會看到main.csscss文件夾都沒有。

+2

你應該在任何程序之前閱讀這個問題 http://stackoverflow.com/questions/1889076/is-it-recommended-to-use-the-base-html-tag –

+0

謝謝@Mitz。知道這一點很有用。 –

+1

如果您嘗試驗證文檔,則會看到DOCTYPE錯誤。框架集版本僅適用於框架集頁面,其中包含一個「框架集」元素。 –

回答

4

如果刪除/,它應該讓相對切斷電流路徑,其中,當基站標籤存在將

http://localhost/website/. 

您還需要添加一個尾隨/到年底href,表示它是一個文件夾。

全部工作示例:

<!doctype html> 
<html> 
<head> 
<base href="/test/" /> 
<script src="assets/test.js"></script> 
<body> 
hi 
</body> 
</html> 
  • 實際上取決於誰你問,它仍然是相對的,因爲它是相對於關閉當前域。但我更願意稱之爲絕對的,因爲它表示路徑來自根目錄,基於當前域。雖然,我想在技術上,這使得它在事物的宏偉計劃中是相對的,絕對只是在當前領域方面。隨你。

仔細查閱此鏈接

http://social.msdn.microsoft.com/Forums/ie/en-US/c51bb8b9-40ab-437b-a125-88b660f3e1ca/ie8-base-tag-issues

+0

感謝@Backtrack的魅力。 –

+0

@TahnoonPasha謝謝 – Backtrack

+0

帶有'http:// localhost'的URL與問題中的'file://'URL完全不同。 (首先,後者在本地計算機中不需要任何HTTP服務器。) –

4

一個正確的標籤是

<base href="file:///home/me/mysite/"/> 

,如果你想設置file:///home/me/mysite/爲基地址,以便例如css/main.css是指file:///home/me/mysite/css/main.css。請注意斜槓的重要性。在basehref值中,忽略最後一個斜槓後的任何內容:file:///home/me/mysite表示與file:///home/me/相同。

這是一個令人困惑的話題,它被一些瀏覽器的實現進一步混淆,它可能支持值中的相對URL;根據規範,只允許絕對URL。

通常沒有理由使用base元素。諸如css/main.css../css/main.css之類的相對URL可以很好地工作,指定相對於HTML頁面地址的地址。這意味着如果網站上傳到服務器上,則不需要更改它們。

+0

感謝@ JukkaK.Korpela請參閱我的描述問題我在這裏有相對路徑http://stackoverflow.com/questions/18442958/using-a-relative-url-scheme-effectively。然而,這是一個有用的答案。 –

3

只是爲了澄清其他答案:

的基礎標籤必須以斜線結束。 以下網址的不能用斜槓開始:

這是合乎邏輯的,因爲加在一起,使一個完整的地址。但這是違反直覺的,因爲我們習慣於使用/images/image.jpg來使事物在任何地方都能正常工作。

+0

這取決於瀏覽器... – yckart