我正在创建一个内部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方法中。 –
谢谢,我正在努力工作,而不是需要。处理程序运行良好。我改变了响应部分,并在我的文章中更新。 –