我正在創建一個內部URL鏈接(僅適用於我們網站的鏈接)URL縮短服務。當我使用像.ly或tinyurl這樣的服務,然後將縮短的鏈接發佈到Facebook時,會顯示目標的預覽(完整鏈接)。當我嘗試使用我自己的頁面進行此操作時,它會顯示重定向頁面。URL Shortener不會預覽目標頁面
例如http://youtu.be/2323將映射到http://www.youtube.com/watch?v=123456,但我的鏈接
http://exam.pl/2323將顯示http://exam.pl/Redirect.aspx,而不是在數據庫中的實際頁面。我需要在服務器本身上進行重定向嗎?
感謝
更新:有一個HttpHandler解決像下面的答案。我改變了迴應,因爲顯然Response.Redirect自動發送302狀態,而301更正確。
context.Response.Status = "301 Moved Permanently";
context.Response.AddHeader("Location", httplocation);
context.Response.End();
好吧,這聽起來像一個好主意,但我無法從我的模塊到我的處理程序的請求。如果URL格式匹配,我的模塊當前會執行server.transfer到我的aspx頁面。我怎樣才能將它轉移到HttpHandler? –
更新我的答案。您的模塊只能在處理程序之後進行處理。將您正在使用的任何代碼移動到處理程序中的ProcessRequest方法中。 –
謝謝,我正在努力工作,而不是需要。處理程序運行良好。我改變了響應部分,並在我的文章中更新。 –