[英]IIS redirect Multiple domains allow one access to folder - deny access to other
如何创建重定向规则以允许从 Domain2.com 访问一个文件夹,如果从 Domain1.com 访问,则拒绝/重定向到 root
基本上我们希望管理控制台不能从 Domain1 访问并将其设置在 Domain2 上。
我尝试在重定向规则中使用 negagte,但这对我来说没有。
<!-- Redirect Domain1 Admin to Homepage -->
<rule name="RedirectAdmintoHomepage">
<match url="https://www.domain1.com/admin" />
<action type="Redirect" url="https://www.domain1.com/" />
</rule>
<!-- End Redirect Domain1 Admin to Homepage -->
<rule name="Redirect .aspx to non aspx" stopProcessing="true">
<match url="(.*).aspx" />
<conditions>
<add input="{REQUEST_URI}" pattern="admin" negate="true" />
<add input="{REQUEST_URI}" pattern="userlogin" negate="true" />
</conditions>
<action type="Redirect" url="{R:1}" />
</rule>
<rule name="Force WWW and SSL" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^[^www]" />
<add input="{HTTPS}" pattern="off" />
<!-- Exclude Domain2 redirection -->
<add input="{HTTPS}" pattern="https://console.domain2.com" negate="true" />
<!-- Exclude Domain2 redirection -->
</conditions>
<action type="Redirect" url="https://www.domain1.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
总之基本上
您可以使用下面的 url 重写规则来禁止https://www.domain1.com/访问管理文件夹并允许https://.conole/
<rule name="RequestBlockingRule14" patternSyntax="ECMAScript" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="on" />
<add input="{HTTP_HOST}" pattern="www.domain1.com" />
<add input="{REQUEST_URI}" pattern="admin/(.*)" />
<add input="{HTTP_HOST}" pattern="console.domain1.com" negate="true" />
</conditions>
<action type="Redirect" url="https://www.domain1.com/" redirectType="Temporary" />
</rule>
注意:您的Force WWW 和 SSL规则存在一些问题。 您需要先更正该规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.