2013-10-10 38 views
-1

在我的項目的功能就像是當我需要設置一個鏈接,直接到:爲什麼我的超鏈接轉到錯誤的目錄?

/site/sales/sold.php 

所以menu.php文件鏈接應該是這樣的:

<ul> 
     <li><a href="sales/">Sales</a></li> 
     <li><a href="sold.php">Sold Items</a></li> 
    </ul> 

它有時會直接到

/site/sales/sold.php 

下一刻,它重複菜單的目錄,如:

/site/sales/sales/sold.php 

所以我刪除了銷售目錄,其本身有指揮,一會兒工作,現在它引導到

/site/sold.php 

不存在,所以它有404

結束
+0

請參閱您之前問這個問題的答案,似乎你在錯誤的地方斜線。 –

+2

爲什麼人們總是使用所有可用的標籤,而不是合適的標籤? – feeela

+0

@feeela可能他們覺得這將導致更多的宣傳,這實際上是不可避免的。 – mavrosxristoforos

回答

0

如果你是一個網頁sales/和鏈接sales一個頁面,鏈接會導致sales/sales/ - 那是定義的行爲。

避免這種情況的默認方法是通過HTML <base>標記指定基本URL。這裏沒有涉及PHP,JS或CSS--只是好的HTML 2.0。

<base href="http://www.example.com/site/"> 

在頁面頭部利用這一點,將確定給定的URL爲基礎的網頁上的所有鏈接,因此點擊時像sales/鏈接實際上將導致http://www.example.com/site/sales/

參見:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base

+0

謝謝Feeela。問題解決了!!! – Boeta

0

爲什麼你不使用絕對鏈接?甚至是URL重寫?

使用像「sold.php」這樣的相對鏈接的唯一方法是如果你的菜單隻出現在你的/ sales目錄中。如果這個菜單出現在/ site的一個頁面中,當然它不會起作用,因爲在/site/sold.php下可能沒有一個名爲「sold.php」的文件。所以如果你不確定,你的鏈接「Sold」總是指向正確的方向,使用像/site/sales/sold.php這樣的鏈接。那麼,如果你是在內部/網站,甚至內部/網站/銷售,這並不重要。

if i for example set my menu link to direct to: /site/sales/sold.php so the menu.php file link would look like this: 

<li><a href="sales/">Sales</a></li> 
<ul> 
<li><a href="sold.php">Sold Items</a></li> 
</ul> 

這沒有意義。如果您將指向你的鏈接到/site/sales/sold.php,你的鏈接看起來完全一樣:<li><a href="/site/sales/sold.php">Sold Items</a></li>

相關問題