这是我关于SO的第一篇文章. :)我的目标是,在应用程序(这是一个现有的VB.NET应用程序颤抖),每当遇到资源的请求时,例如:
/itemimages/image.png
它被重写为
http://example.com/itemimages/image.png
生产网站上有10GB的图像,因此对于本地开发,我们只想重写请求,这样我们就不必下载并随机播放10GB的产品图像.
我在Application_BeginRequest()中尝试了以下内容,请记住我正在简化这个以说明我遇到的问题:
If (url1.IndexOf("itemimages") > 0) Then
Dim app As HttpApplication = CType(sender, HttpApplication)
app.Context.RewritePath("https://www.google.com/images/srpr/logo3w.png")
End If
我得到的错误是:
‘https:/www.google.com/images/srpr/logo3w.png’ is not a valid virtual path.
请注意https:/www.google.com中的单个正斜杠,即使我指定了两个斜杠.另外,它明确提到它不是一个有效的VIRTUAL路径,所以显然我不能在这里指定一个绝对URL.
如何将“/itemimages/image.png”的请求重写为“http://www.website.com/itemimages/image.png”?我在C#中发布这个也是因为我对这种语言感觉更舒服,并且很可能很容易在两者之间转换任何解决方案.
最佳答案 Context.RewritePath使用ASP.Net在不同的路径下处理请求.
使用外部服务器执行此操作没有意义.
你想要Response.Redirect.