gpt4 book ai didi

asp.net-mvc - url重写后如何知道原始url?

转载 作者:行者123 更新时间:2023-12-04 13:03:50 25 4
gpt4 key购买 nike

我有 url 重写规则,将 www.domain2.com 重定向到 domain1.com 根目录下的子文件夹(我们称此文件夹为子项目)。在我的 Controller 中,我需要构造一个指向原始未修改路径的 URL,但 Request.Url 属性(如 AbsoluteUri 或 LocalPath)始终包含子项目子文件夹。

换句话说,如果用户输入:

www.domain2.com/controller/action

urlrewrite 使它:
www.domain1.com/subproject/controller/action

我希望重建原始网址:
www.domain2.com/controller/action

我可以对从 url 中删除子项目进行硬编码,并以 domain2 开始 url,但我需要一段通用代码,因为这个 url 重建将在一个可重用的库中。 domain2 可能在我的应用程序的设置中,但是子文件夹呢?

作为引用,这里是重写规则:
<rewrite>
<rules>
<rule name="Redirect to subproject">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(www.)?domain2.com" />
<add input="{PATH_INFO}" pattern="^/subproject/" negate="true" />
</conditions>
<action type="Rewrite" url="\subproject\{R:0}" />
</rule>
</rules>
</rewrite>

谢谢

最佳答案

您应该可以在 Request.RawUrl 中找到它.

关于asp.net-mvc - url重写后如何知道原始url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3991552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com