我有一个IIS的网站设置为domain1.com。 我也有一个域名为domain2.com,redirect到domain1.com。 我目前有这个在domain1.com绑定中设置。 我需要将其更改为domain2.com被redirect到domain1.com/blog的位置
我会通过web.config文件做到这一点,或者有另一种方式吗?
在这里看到答案: 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永久redirect(URL将在浏览器中更改)。 如果你想让这种“redirect”是不可见的(重写,内部redirect),那么使用这个规则(唯一的区别是“redirect”已被“重写”取代):
<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>
另一个select是使用命令提示符使用appcmd.exe命令执行此操作。
上面的命令应该可以完成这项工作。
这个命令也可以用来创build任何types的redirect。
url重写模块是一个要求。 它必须安装在您的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
希望有所帮助。