Response.Redirect()将绝对URL作为相对URL处理

时间:2011-07-04 19:39:15

标签: c# .net asp.net response.redirect

我有一个重定向到绝对网址的.net C#页面,例如:

Response.Redirect("rtsp://myvideoServer.com/myVideoAddress.mp4?ticket=1234&dt=1234");

但重定向后会导致:

"http://m.mysite.com/rtsp://myvideoServer.com/myVideoAddress.mp4?ticket=1234&dt=1234"

如果我将URL写入HTML页面并单击地址,它可以正常工作。但重定向会造成这种混乱。

最奇怪的是它在上一版本之前有效。

你有什么想法吗?我差不多要解决这个问题。

2 个答案:

答案 0 :(得分:5)

Response.StatusCode = 301;
Response.AddHeader("location","rtsp://myvideoServer.com/myVideoAddress.mp4?ticket=1234&dt=1234");
Response.End();

EDIT 无法使用浏览器

我认为浏览器不了解rtsp协议(意思是以不同于嵌入式对象的方式执行e GET请求),但是如果你有一个理解这种重定向的客户端,这应该可行。

答案 1 :(得分:1)

建议做一个解决方法。

请改用Response.AddHeader。看起来Response.Redirect没有将rtsp://识别为协议,并将其视为相对路径。

Response.AddHeader("Location","rtsp://myvideoServer.com/myVideoAddress.mp4?ticket=1234&dt=1234");