2017-05-30 38 views
2

因此,讓我們說在我的Firebase公用文件夾中,我有一個index.html和一個salon.html如何在Firebase主機中處理動態URL路由

現在對於像xyz.com/salon/43這樣的網址,我想加載salon.html並在JavaScript中我想從實時數據庫中獲取沙龍43。

現在我可以有像xyz.com/salon?id=43這樣的網址。我想知道是否有可能在Firebase託管服務中實現前者,以及如何實現。

+1

你可以選擇使用動態主機:https://firebase.google.com/docs/hosting/

URL重寫可以通過firebase.json檔案託管內限定rewrites部分中指定功能 –

+0

謝謝!我不知道雲功能可以這樣使用。 '...你可以擁有一個像/ blog/這樣的URL。此URL模式可以指向一個動態使用URL博客帖子ID參數的功能,以從您的Firebase實時數據庫中動態檢索內容。「 –

回答

8

您正在尋找Firebase託管服務改寫。從documentation

如果要爲多個URL顯示相同的內容,請使用重寫。重寫對於模式匹配非常有用,因爲您可以接受任何與模式匹配的URL,並讓客戶端代碼決定要顯示的內容。重寫規則可用於支持使用HTML5 pushState進行導航的應用程序。當瀏覽器嘗試打開指定的源URL時,將會在目標URL中給出該文件的內容。

"hosting": { 
    // Add the "rewrites" section within "hosting" 
    "rewrites": [ { 
    "source": "**", 
    "destination": "/index.html" 
    } ] 
} 
+0

謝謝!太棒了。我已經看到了,但我沒有意識到URL不會像重定向一樣被維護。在問這個問題之前,應該先嚐試一下。 –

+1

不用擔心。我幾乎回答了重定向,然後意識到它不會保持狀態。 –