https://first-domain.com/
托管的ASP.NET-Core Web应用程序https://second-domain.com/some/path
下,以便对https://second-domain.com/some/path/Page1
的请求将请求传递到https://first-domain.com/Page1
X-Original-Host = 'second-domain.com'
X-Original-BasePath = 'some/path'
X-Original-Url = 'https://second-domain.com/some/path/Page1'
~
)引用相对于应用程序根的资源。我的中间件正确地将请求路由到页面。根据标头,对https://second-domain.com/some/path/PageX
的请求可以正确检索https://first-domain.com/PageX
处的资源。
但是,PageX
的使用ASP.NET根路径字符(~
)的URL解析为/
,因此客户端尝试访问{{1}处的资源}不存在。
例如,如果https://second-domain.com/
具有一个PageX.cshtml
标签,则客户端的浏览器将尝试检索资源<img src="~/myImage.png>
而不是https://second-domain.com/myImage.png
是否可以通过ASP.NET-Core middleware处理请求和/或响应,以便动态解析ASP.NET根路径(https://second-domain.com/some/path/myImage.png
)?
换句话说,我正在尝试动态设置虚拟路径,而不通过IIS / Azure使用基础结构定义的虚拟路径。