路由有沒有一種方法,我可以忽略了一個關鍵的前綴?或重定向到一個網址,而無需更改地址欄中的網址?忽略鍵前綴,而在S3路由策略
舉例來說,我有以下網址x.com/y/uuid/
我想S3路由我x.com/y/index.html
無需拆卸/更換/uuid/
路由有沒有一種方法,我可以忽略了一個關鍵的前綴?或重定向到一個網址,而無需更改地址欄中的網址?忽略鍵前綴,而在S3路由策略
舉例來說,我有以下網址x.com/y/uuid/
我想S3路由我x.com/y/index.html
無需拆卸/更換/uuid/
重定向到URL,而不在地址欄更改URL
然後它不會是一個重定向。根據定義,HTTP重定向將瀏覽器發送到新位置,並且地址欄被重寫。
某些網絡服務器軟件有一個內部重寫URL以供後續處理的概念,以便目標解析爲不同於其他方式的路徑,但S3不支持這一點 - 除了自動索引文檔的情況,其中example.com/foo
將觸發一個瀏覽器重定向到example.com/foo/
其然後內部由S3被重寫到與密鑰foo/index.html
返回對象,如果它的存在。 (瀏覽器重定向保持相對路徑理智;沒有它,在/foo/index.html
相對路徑會被不正確地解釋爲相對於根,而不是相對於/foo/
- 再現指數文檔時所有正確-行爲web服務器這樣做)
S3自定義錯誤文檔也基本上是一個內部重寫,當然。
但你考慮什麼是不支持S3。
S3前面的CloudFront甚至可以做與您正在尋找的內容完全相反的內容,例如,example.com/bar.html
可以作爲example.com/foo/bar.html
的請求呈現給後端,而不需要瀏覽器重定向(通過配置自定義來源和起源路徑設置爲/foo
),但既沒有服務支持刪除/隱藏/遮蔽路部分沒有瀏覽器重定向。