2013-07-17 61 views
1

在我們的網站,我們有以下結構:一把umbraco - 不正確的替代鏈接記錄

 
sitename 
    -Global 
    -English 
    -UK 
    -English 

爲全球>英文頁面,鏈接到頁面的顯示爲:

鏈接到文件

/全球/ EN/

備選鏈接

http://english 

所以'鏈接到文檔'是正確的,但替代鏈接不是。在英國>英文頁面,我只是得到正確的'鏈接到文檔'。我試圖發佈整個網站,但我不能超時(我試過增加所有的超時時間,但需要一個小時才能發佈,所以我得到一個奇怪的網絡錯誤),然後重新發布整個「全局」節點和子文檔都不能解決問題。任何其他方式來解決這個問題?另外'替代鏈接'的目的是什麼?這些是如何確定的?

+0

您是否找到了答案? – Digbyswift

+0

嗨Digby,不,我沒有找到任何能夠完全解決問題的東西。對於我最終試圖實現的目標(安全地將不同的主機名指向單個Umbraco實例上的不同站點),只要我保持 false,我就可以在不妨礙此問題的情況下正常工作。在umbracoSettings中使用「使用域前綴」。config –

回答

3

正如我在你原來的文章中所建議的那樣,我建立了一個非常基本的Umbraco v6.1.2實例(在Visual Studio中使用NuGet),它具有單一的文檔類型和相同的頂層結構。

所以:

  1. 設置umbracoUseDirectoryUrls爲true在web.config
  2. 的文檔類型,叫做 「BasicPage」 有一個名爲 「umbracoUrlName」 的一個屬性。這使您可以根據節點的標題覆蓋由Umbraco創建的路徑。我假設你已經有了你的文檔類型。
  3. 我設置兩個英文節點的umbracoUrlName爲「en」。
  4. 我添加了兩個主機名到根節點 - 「本地主機」和「mobile.localhost」
  5. 我發表Root節點,所有節點之後

Umbraco screenshot

正如你所看到的, 「鏈接到文檔」和「替代鏈接」如預期的那樣。

我懷疑你可能是正確的,試圖讓網站發佈可能修復這個問題,所以你可能不得不發佈站點的位,從分支到分支工作。

但是,我會建議創建一個測試Umbraco實例,因爲我已經完成,然後比較你有什麼。

或者,如果整個內容結構要使用相同的主機名來提供,那麼您當然可以刪除主機名設置,因爲這些主機名可以簡單地在IIS中進行控制。除非在同一內容樹中有不同的獨立站點,否則Umbraco實際上並不需要知道它們。

+0

優秀的答案Digby - 非常感謝您的努力。我會盡快嘗試,並將其標記爲假設其解決的答案。 –