我有一个问题,我一直试图解决使用URL重写,但我不能让它按我想要的方式行事。 我有一些奇怪的情况。 我很抱歉,这个问题没有很好的格式,因为我必须迅速解决这个问题。
我有两个服务器在不同的位置。 两者都运行IIS。
一台服务器有一个默认网站,下面有许多networking应用程序。 他们正在使用
domain.com/Site1
domain.com/Site2
domain.com/Site3
另一台服务器有
new.domain.com/Site1
new.domain.com/Site3
我需要一个请求domain.com/Site1
自动redirect到new.domain.com/Site1
– 但是,我不能让domain.com/Site2
redirect到任何东西,它必须是在该特定的子应用程序的规则。 最重要的是,任何请求,如domain.com/Site1/Really/Long/Path....
应该redirect到new.domain.com/Site1/Really/Long/Path....
我尝试了很多东西,这是我最近的尝试。 它似乎没有做任何事情,所以显然我没有得到什么:
<rewrite> <rules> <rule name="Datacenter Redirect" patternSyntax="Wildcard"> <match url="*domain.com*" /> <action type="Redirect" url="new.domain.com/{R:0}" /> </rule> </rules> </rewrite>
任何人都可以请指出我在正确的方向吗? 我对IIS很熟悉,但不能重写。
domain.com是IIS 7.5
我没有什么可以testing的,但应该是接近这个我相信…
<rewrite> <rules> <rule name="Datacenter Redirect" patternSyntax="Wildcard"> <match url="domain.com/([_0-9a-z-]+)" /> <action type="Redirect" url="new.domain.com/{R:1}" /> </rule> </rules> </rewrite>
那R:1可能需要是R:2,但我不确定。
那么你需要设置一个条件,只为Site1做这个,如果你不希望这个redirect与Site2发生,如果我正确地阅读你的问题。