【发布时间】:2017-12-14 17:58:40
【问题描述】:
我正在使用 web.config 使用 .Net Core 设置一些重定向规则。
<rule name="About Page" stopProcessing="true">
<match url="about.aspx" />
<action type="Redirect" url="/Home/About" redirectType="Permanent" />
</rule>
...
所以如果用户输入 www.test.com/about.aspx,它会重定向到 www.test.com/Home/About 页面。
我的问题是如何将用户在 URL 中输入的内容传递给控制器方法?例如,www.test.com/about.aspx 在这种情况下?
我试过了
var currentURI = new Uri($"{Request.Scheme}://{Request.Host}{Request.Path}{Request.QueryString}");
但是那个检测到重定向的 uri (www.test.com/Home/About),而不是最初输入的 URL (www.test.com/about.aspx)
我在HomeController、IActionResultAbout方法中使用下面的代码。
using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Head, uri))
HttpRequestMessage 的requestUri 参数目前不是动态的,因此无法检测到用户在 URL 中输入的内容。
感谢您的帮助。
【问题讨论】:
标签: c# url-redirection detect asp.net-core-1.1 request-uri