我想:http://somesite.com重定向至http://somesite.com/subfolder
看起来像是一个非常简单的请求。我关注了在线来源,它们都表明我应该使用^$
正则表达式模式。我还添加了 HTTP 到 HTTPS 重定向,它工作正常。我还尝试禁用该规则,只是为了确保它不会干扰。这是在 IIS 10 / Server 2016 上运行的。
我的 web.config 如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Redirect root to NmConsole" stopProcessing="true">
<match url="^$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Redirect" url="/subfolder" appendQueryString="true" />
</rule>
<rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
对根域的请求不会重定向。为什么不起作用?
答案1
也许 HTTP 重定向在这里更合适,尽管该功能默认情况下未启用。
对于 Windows Server,请通过添加功能和角色向导并HTTP Redirection
在下启用Server Roles > Web Server (IIS) > Common HTTP Features
对于 Windows 桌面,请通过appwiz.cpl
和Turn Windows Features On or Off
来操作。
启用后,您将添加:
<system.webServer>
<httpRedirect enabled="true" destination="http://somesite.com/subfolder" />
</system.webServer>
添加到您的web.config
文件中,您就可以开始工作了。您可以在以下网址阅读更多相关信息微软的文档