2014-12-19 130 views
0

使用核心骨幹路由器時,有沒有一種簡單的方法可以從url中刪除「#」?現在我有一個像這樣的網址:somesite.com/#some_back_bone_route/:blog_title我想要:somesite.com/some_back_bone_route/:blog_title。這可能嗎?刪除骨幹路由中的「#」

我看過的每個地方都沒有給出明確的答案或方向,說明如何實現這個甚至是可能的狀態,甚至是文檔都圍繞着這個問題。

想法?

+1

如果您從鏈接中刪除#,它會向您的Web服務器發送請求。 – 2014-12-19 00:40:04

+0

theres沒有辦法將其刪除,但有骨幹「行爲」就像它在那裏?它阻止了我能夠在某些頁面上做錨點標籤等事情。 – TheWebs 2014-12-19 00:42:06

+0

'#'本質上是一個允許單頁網站工作的錨定標記。而不是發送數據到服務器,他們轉移到另一個頁面(類似於移動到錨點)。你必須用另一種方式使用JavaScript移動到你的錨點。 – orange 2014-12-19 00:49:54

回答

1

除了我的上述評論,使用現代瀏覽器(和歷史API),可以不在URL中使用散列。看看http://backbonejs.org/#Router(關鍵字:pushState)。

但是這種方法有一些注意事項:您的後端可能需要是changed

注意,使用真實的URL需要你的Web服務器能夠 正確渲染那些頁面,因此後端改變是必需的 好。例如,如果您的路由爲/ documents/100,則如果瀏覽器直接訪問該URL ,則您的網絡服務器必須能夠提供該頁面。