因此,讓我們說在我的Firebase公用文件夾中,我有一個index.html
和一個salon.html
。如何在Firebase主機中處理動態URL路由
現在對於像xyz.com/salon/43
這樣的網址,我想加載salon.html
並在JavaScript中我想從實時數據庫中獲取沙龍43。
現在我可以有像xyz.com/salon?id=43
這樣的網址。我想知道是否有可能在Firebase託管服務中實現前者,以及如何實現。
因此,讓我們說在我的Firebase公用文件夾中,我有一個index.html
和一個salon.html
。如何在Firebase主機中處理動態URL路由
現在對於像xyz.com/salon/43
這樣的網址,我想加載salon.html
並在JavaScript中我想從實時數據庫中獲取沙龍43。
現在我可以有像xyz.com/salon?id=43
這樣的網址。我想知道是否有可能在Firebase託管服務中實現前者,以及如何實現。
您正在尋找Firebase託管服務改寫。從documentation:
如果要爲多個URL顯示相同的內容,請使用重寫。重寫對於模式匹配非常有用,因爲您可以接受任何與模式匹配的URL,並讓客戶端代碼決定要顯示的內容。重寫規則可用於支持使用HTML5 pushState進行導航的應用程序。當瀏覽器嘗試打開指定的源URL時,將會在目標URL中給出該文件的內容。
"hosting": { // Add the "rewrites" section within "hosting" "rewrites": [ { "source": "**", "destination": "/index.html" } ] }
謝謝!太棒了。我已經看到了,但我沒有意識到URL不會像重定向一樣被維護。在問這個問題之前,應該先嚐試一下。 –
不用擔心。我幾乎回答了重定向,然後意識到它不會保持狀態。 –
你可以選擇使用動態主機:https://firebase.google.com/docs/hosting/
URL重寫可以通過
firebase.json
檔案託管內限定rewrites
部分中指定功能 –謝謝!我不知道雲功能可以這樣使用。 '...你可以擁有一個像/ blog/這樣的URL。此URL模式可以指向一個動態使用URL博客帖子ID參數的功能,以從您的Firebase實時數據庫中動態檢索內容。「 –