为 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>