域名重定向到 IIS 中的特定页面

域名重定向到 IIS 中的特定页面

我在 IIS 上有一个网站,设置为 domain1.com。我还有一个名为 domain2.com 的域名,该域名重定向到 domain1.com。我目前已在 domain1.com 绑定中设置了此设置。我需要将其更改为将 domain2.com 重定向到 domain1.com/blog

我可以通过 web.config 文件来执行此操作吗?或者还有其他方法吗?

答案1

另一个选择是使用应用程序命令提示符命令,使用命令提示符。
上述命令应该可以完成这项工作。 这些
命令对于创建任何类型的重定向也很有用。
网址重写模块是必需的。它必须安装在您的 IIS 上。
这些命令在我的 Windows Server 2012 机器上运行没有问题。

C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules /+"[name='Redirect_To_www',enabled='True']" >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].match.url:"(.*)" >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].match.ignoreCase:true >> output.out

C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].conditions.logicalGrouping:"MatchAny" >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules /+"[name='Redirect_To_www'].conditions.[input='{HTTP_HOST}',pattern='^www\.([.a-zA-Z0-9\-]+)$',negate='true']" >> output.out

C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].action.type:"Redirect" >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].action.url:"http://www.{HTTP_HOST}/{R:0}" >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].action.appendQueryString:true >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].action.redirectType:"Permanent" >> output.out


希望有所帮助。

答案2

请参阅此处的答案:https://stackoverflow.com/questions/7018818/iis7-url-redirection-from-root-to-sub-directory

就是这个。将此代码添加到您的 web.config 文件中:

<system.webServer>
    <rewrite>
        <rules>
            <rule name="Root Hit Redirect" stopProcessing="true">
                <match url="^$" />
                <action type="Redirect" url="/menu_1/MainScreen.aspx" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

它将执行 301 永久重定向(浏览器中的 URL 将被更改)。如果您希望此类“重定向”不可见(重写、内部重定向),请使用此规则(唯一的区别是“重定向”已被“重写”替换):

<system.webServer>
    <rewrite>
        <rules>
            <rule name="Root Hit Redirect" stopProcessing="true">
                <match url="^$" />
                <action type="Rewrite" url="/menu_1/MainScreen.aspx" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

相关内容