Iis 在由同一web.config处理的两个URL之间重写URL
当我尝试实现我创建的移动重定向时,我得到了一个重定向循环:Iis 在由同一web.config处理的两个URL之间重写URL,iis,redirect,url-rewriting,web-config,Iis,Redirect,Url Rewriting,Web Config,当我尝试实现我创建的移动重定向时,我得到了一个重定向循环: <rewrite> <rules> <rule name="Mobile Rewrite" patternSyntax="ECMAScript" stopProcessing="true"> <match url=".*" ignoreCase="true" negate="false" /> <conditio
<rewrite>
<rules>
<rule name="Mobile Rewrite" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*" ignoreCase="true" negate="false" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="website.com.au" />
<add input="{HTTP_USER_AGENT}" pattern="midp|mobile|phone" />
</conditions>
<action type="Redirect" url="http://mwebsite.com.au" appendQueryString="false" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
不过,这是一个问题,mwebsite.com.au被分配到与website.com.au相同的web.config,因此它们由相同的web.config处理。这就是我正在处理的.net应用程序处理请求的方式(我无法将它们拆分,它们必须通过这个1 web.config)
我已经用google.com.au替换了mwebsite.com.au来测试这一点,它工作得很好,但由于某种原因,当URLEwrite必须通过相同的规则注入mwebsite.com.au时,它无法处理请求
任何帮助都将是惊人的 您的规则基本上是这样的:如果
{HTTP\u HOST}
包含website.com.au
和{HTTP\u USER\u AGENT}
包含任何midp
、mobile
或phone
,请重定向到http://mwebsite.com.au
您可以猜到,
http://mwebsite.com.au
包含website.com.au
要解决此问题,只需使用模式^website.com.au
告诉您的情况,它应该从website.com.au
开始
所以你的规则是:
<rewrite>
<rules>
<rule name="Mobile Rewrite" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*" ignoreCase="true" negate="false" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^website.com.au" />
<add input="{HTTP_USER_AGENT}" pattern="midp|mobile|phone" />
</conditions>
<action type="Redirect" url="http://mwebsite.com.au" appendQueryString="false" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
先生,您真是太棒了。这是一件如此简单的事情。非常感谢。非常欢迎您的光临!我看到你最近订阅了这个网站,所以如果你没有看到,它会解释为什么以及如何接受或不接受答案!:)啊,谢谢@cheesemacfly,我没有收到你评论的通知,只是现在读一下。我已经勾选了答案,谢谢!