我正在更改IIS网站的主域名,我需要保持现有网址的正常运行。与此同时,我正在更改此(上一个)域的起始页面的行为。此域先前已在其根级别可访问,但现在我需要根页面(默认文档)重定向到特定的子目录。
总结:我需要在重定向时保留除默认文档(root)之外的所有页面的尾随路径。例如:
www.old.com/
- > www.new.com/en
www.old.com/en/page2.htm
- > www.new.com/en/page2.htm
www.old.com/en/page3.htm
- > www.new.com/en/page3.htm
www.old.com/page1.htm
- > www.new.com/page1.htm
我有web.config
:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpRedirect enabled="true" destination="http://www.new.com" httpResponseStatus="Permanent" exactDestination="false" />
</system.webServer>
<location path="Default.aspx">
<system.webServer>
<httpRedirect enabled="true" destination="http://www.new.com/en" httpResponseStatus="Permanent" exactDestination="true" />
</system.webServer>
</location>
</configuration>
我已将IIS设置默认文档设置为Default.aspx
。
但这不起作用。
答案 0 :(得分:0)
我通过在IIS中使用URL重写模块来解决它:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Root request" enabled="true" stopProcessing="true">
<match url="^$" />
<action type="Redirect" url="http://www.new.com/en" redirectType="Found" />
</rule>
<rule name="Path request" enabled="true" stopProcessing="true">
<match url="^(.*)$" />
<action type="Redirect" url="http://www.new.com/{R:1}" redirectType="Found" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>