将子域名 test.mydomain.com/default.aspx 重定向到子文件夹 test.mydomain.com/test/default.aspx

将子域名 test.mydomain.com/default.aspx 重定向到子文件夹 test.mydomain.com/test/default.aspx

为 asp.net 网站运行 IIS7。我有一个名为“test”的子文件夹,设置为应用程序根目录。我已将测试站点部署到该测试文件夹。根站点文件夹有一个 webconfig,其中包含以下重写规则:

<rewrite>
  <rules>
    <rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
    </rule>
    <rule name="test.mydomain.com to sub folder" enabled="true" stopProcessing="true">
      <match url="(.*)" ignoreCase="true" />
      <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="^test\.mydomain\.com$" ignoreCase="false" />
        <add input="{PATH_INFO}" pattern="^/test($|/)" negate="true" />
      </conditions>
      <action type="Rewrite" url="\test\{R:0}" />
    </rule>
  </rules>
</rewrite>

当用户输入https://test.mydomain.com/default.aspx我想将他们重定向到子文件夹中的应用程序http://test.mydomain.com/test/default.aspx。此重写不起作用。我的浏览器返回一条错误,内容为:

页面未正确重定向

错误页面显示的 URL 是https://test.mydomain.com/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test

我不知道这有多大影响,但 SSL 仅为根站点 www.mydomain.com 创建的。

任何帮助将不胜感激。

答案1

检查以下内容是否有帮助。如果您需要帮助来理解这一点,请告诉我。

<rewrite>
    <rules>
        <rule name="sampleRule" stopProcessing="true">
            <match url="test/(.*)" negate="true" />
            <action type="Redirect" url="http://{HTTP_HOST}/test{PATH_INFO}" redirectType="Temporary" />
        </rule>
    </rules>
</rewrite>

相关内容