用于重定向到 asp.net Web 表单中的特定页面的 URL 重写规则



ASP.NET 4.5 网络表单网站

我有两个域:

  • company.com
  • company.co.ca

两者都指向同一站点,默认文档设置为登录.aspx。

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

我想我可以使用 url 重写并在我的 web.config 中有这个规则,但它不会重定向而是保留在主登录名.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>

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

我们计划再添加一个域,所以我不想手动检查登录.aspx.cs重定向,并希望找到更通用的最佳方法。

您可以使用 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>

最新更新