2013-02-10 18 views
0

基本設置: WAMP的服務器上運行本地我的電腦(在本地主機上運行的Apache 2.2.22)上 網站被放​​置在/ libelle目錄 的.htaccess放置在該目錄中,它包含只有一行路徑中的鏈接改變了404頁

ErrorDocument 404 /libelle/pages/404.html 

404.html文件放在/ libelle /頁目錄

這裏是發生了什麼事情:

404網頁具有相同的佈局和菜單與原網站與相同的導航菜單指向網站的網頁:

../index.html

什麼,我們-do.html

portfolio.html

contact.html

最後三個文件與404頁面位於同一目錄,因此沒有路徑。

這裏是我做的:

一)我去下面的網址 - /libelle/pages/what-we-do.html,並得到我應該(論壇不允許與鏈接的頁面本地主機,所以我用webroot取代它)

b)我更改url/libelle/pages/什麼,我們SOMEWORDSdo.html,並進入404頁面,我應該。這裏沒問題。

一切看起來不錯。 奇怪的事情開始發生,如果不是像上面的鏈接那樣更改html文件名,我會更改URL中的目錄。 所以,在這裏它去...

一)我去下面的網址 - /libelle/pages/what-we-do.html和我應該

b得到的頁面),我改變網址(這次在目錄名稱)到/ libeSOMEWORDSlle /pages/what-we-do.html,並進入404頁面,我應該。

C)這裏來的奇怪的事情.... 現在,當我把在導航菜單光標我的404頁面,想帶回去給我的正常網站上鍊接它表明:/ libeSOMEWORDSlle /頁/乜we-do.html

換句話說 - 它顯示鏈接中已更改的目錄名稱。 我不知道如何解決這個問題,並整體困惑的行爲。 任何想法,爲什麼發生這種情況,以及如何解決它將不勝感激。

回答

2

HTML中的鏈接可能寫成使用relative而不是絕對路徑。您應該使用絕對路徑,如/libelle/pages/what-we-do.html而不是像../what-we-do.html這樣的相對路徑。當使用相對路徑時,瀏覽器將鏈接相對於構建爲當前路徑。因此,如果您鍵入一個時髦的目錄名稱,則該路徑將使用該目錄名稱構建,即使它不正確。絕對路徑總是是正確的。

+0

太棒了,那絕對有效。非常感謝。 – Elijah 2013-02-10 03:44:50

+0

快速的問題 - 如果我將URL(/ liblle)中的根網站目錄的名稱更改爲/ li23belle /然後我開始「在此服務器上找不到所請求的URL /lib23elle/index.html」。 Iguess這意味着爲了避免這個.htaccess和404.html必須更高 - 在localhost根目錄? – Elijah 2013-02-10 04:34:52

+0

如果將URL更改爲不存在的目錄,瀏覽器將無法加載該內容。如果您重命名目錄,您還必須更新HTML中的路徑。 – twaddington 2013-02-10 04:45:13