ASP.NET 301在www.subdomain上重定向到子域

时间:2014-04-23 07:04:52

标签: c# asp.net .net asp.net-mvc web-config

我希望从www.subdomain.domain.com重定向到web.config中的subdomain.domain.com

我在我的web.config中使用Urlrewrite。

这是我的规则,这有什么问题?它不起作用..

  <rule name="Redirecton" patternSyntax="ECMAScript" stopProcessing="true">
      <match url=".*" />
      <conditions>
          <add input="{HTTP_HOST}" pattern="^www.*.domain.com*" />
      </conditions>
      <action type="Redirect" url="http://{C:1}.domain.com/{C:2}" />
  </rule>

任何人都可以帮我解决这个问题吗?

编辑: 它在页面中显示此错误:

内部服务器错误

服务器遇到内部错误或配置错误,无法完成您的请求。 请与服务器管理员联系,以告知错误发生的时间以及可能导致错误的任何操作。

服务器错误日志中可能提供了有关此错误的更多信息。

1 个答案:

答案 0 :(得分:1)

以下情况应该有效 - 至少它对我来说是一个简短的测试:

<rule name="Redirecton" patternSyntax="ECMAScript" stopProcessing="true">
    <match url=".*" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^www\.(.*)\.test\.at(.*)" />
    </conditions>
    <action type="Redirect" url="http://{C:1}.test.at/{R:0}" />
</rule>

我改变了什么:

  • .转发为\.
  • 使用parantheses创建捕获
  • 使重定向目标适应工作 - 我不是为什么会这样:
    • {C:0}是完整的输入字符串
    • {C:1}是第一次捕获
    • {C:2}是空的
    • {R:0}是第二次捕获