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

时间:2014-11-21 19:02:19

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

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中进行手动检查并重定向,并希望找到更通用的最佳方式。

1 个答案:

答案 0 :(得分:0)

使用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>