Redirect 重定向URL但不重定向子目录IIS 8
目前,我已经设置了IIS 8,以通过静态网站回答www.IPO.is。然后,我有asp.net项目回答www.IPO.is的特定子目录(例如www.IPO.is/test) 现在我将静态网站移动到不同的位置和URL,因此我希望旧URL重定向到新项目。(ipo.keldan.is)Redirect 重定向URL但不重定向子目录IIS 8,redirect,iis-8,Redirect,Iis 8,目前,我已经设置了IIS 8,以通过静态网站回答www.IPO.is。然后,我有asp.net项目回答www.IPO.is的特定子目录(例如www.IPO.is/test) 现在我将静态网站移动到不同的位置和URL,因此我希望旧URL重定向到新项目。(ipo.keldan.is) 有没有办法让IIS通过重定向来应答www.ipo.Is,但仍然像以前一样提供www.ipo.Is/test?您可以使用IIS URL重写扩展。在静态网站目录的根目录下创建一个web.config文件,然后粘贴到以下目
有没有办法让IIS通过重定向来应答www.ipo.Is,但仍然像以前一样提供www.ipo.Is/test?您可以使用IIS URL重写扩展。在静态网站目录的根目录下创建一个web.config文件,然后粘贴到以下目录中:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect rule" patternSyntax="ECMAScript" stopProcessing="true">
<match url="/$" />
<action type="Redirect" url="http://ipo.keldan.is" />
<conditions>
<add input="{HTTP_HOST}" pattern="^ipo.is$" />
</conditions>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
在应用此更新之前,请确保已安装UrlRewrite扩展。在收到Mohsin Mehmood的良好提示后,您可以使用Microsoft WebPlatform安装程序安装UrlRewrite。我设法找到了此问题的解决方案
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="IPO Redirect" stopProcessing="true">
<match url="(.+)" negate="true" />
<action type="Redirect" url="http://ipo.keldan.is" redirectType="Permanent" />
<conditions>
<add input="{HTTP_HOST}" pattern="(.*)ipo.is" />
</conditions>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
这与主机ipo.is没有任何子目录的任何URL匹配(对于http/https和www/non-www的任何变体。这似乎只在第一个/.被重定向到ipo.is/ipo.keldan.is后与URL匹配,但ipo.is在任何地方都不会被重定向。经过多次尝试和错误后,我发现了它。你非常接近目标。非常感谢你的帮助。我认为不是302(找到)重定向,而是301(永久)从SEO的角度来看,重定向更合适是的,正确。我在本地更改了它(我在测试时使用了302以避免缓存)。