【问题标题】:Url rewrite rule for redirecting to specific page in asp.net webforms用于重定向到 asp.net webforms 中特定页面的 URL 重写规则
【发布时间】:2015-01-20 00:24:07
【问题描述】:

ASP.NET 4.5 Webforms 网站

我有两个域:

  • company.com
  • company.co.ca

两者都指向同一个站点且默认文档设置为login.aspx。

当有人访问 company.co.ca 时,我检查 login.aspx.cs 中的 Request.ServerVariables["HTTP_HOST"] 并将用户重定向到 company.co.ca/ca/login.aspx

我认为我可以使用 url 重写并在我的 web.config 中使用此规则,但它不会重定向而是保留在主 login.aspx 上。

<rewrite>
    <rules>
        <rule name="CA HomePage" stopProcessing="true">
            <match url="company.co.ca/login.aspx" />
            <action type="Redirect" url="company.co.ca/ca/login.aspx" />
        </rule>
    </rules>
</rewrite>

我做错了什么?有没有更好的办法?

我们计划再添加一个域,因此我不想手动检查 login.aspx.cs 和重定向,而是希望找到更通用的最佳方式。

【问题讨论】:

    标签: asp.net url-rewriting webforms url-routing


    【解决方案1】:

    您通过 IIS 重写来检查主机:

    <rule name="CA HomePage" stopProcessing="true">
        <match url="^login.aspx$" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="^company.com$" />
        </conditions>
        <action type="Redirect" url="http://company.co.ca/ca/login.aspx" />
    </rule>
    

    【讨论】:

    • 我确实尝试过,但表现相同。知道为什么我上面的那个不起作用吗?
    猜你喜欢
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多