1

我在 IIS 中设置了一个带有 2 个 HTTP 标头(www.mysite.com 和 [blank])的网站。

有一个名为“blog”的虚拟目录指向一个 WordPress 站点——可通过 www.mysite.com/blog/ 访问

任何其他请求(例如 www.site1.com、www.site2.com、something.mysite.com)都由同一站点处理(使用 [blank] 标头)并重写规则以显示必要的信息。

问题是我不希望 /blog/ 可用于 www.mysite.com 以外的任何内容,因为目前我可以通过以下任何方式访问它:

www.site1.com/blog/something.mysite.com/blog/

这是因为我们也在使用 BlogEngine(用于用户博客),如果他们将他们的博客目录设置为“博客”,那么它会与 WordPress 的目录发生冲突。

理想情况下,我希望能够将主机头添加到虚拟目录,但找不到这样做的方法,因此寻找任何其他解决方案(除了移动 WordPress 博客)。

提前致谢

4

1 回答 1

0

您可以使用 UrlRewrite 规则阻止浏览到/blog非站点:www.mysite.com

<rule name="RequestBlockingRule1" patternSyntax="Wildcard" stopProcessing="true">
  <match url="*" />
  <conditions logicalGrouping="MatchAll">
    <add input="{URL}" pattern="/blog*" />
    <add input="{HTTP_HOST}" pattern="www.mysite.com" negate="true" />
  </conditions>
  <action 
      type="CustomResponse" statusCode="403" 
      statusReason="Forbidden: Access is denied." 
      statusDescription="You do not have permission to view this directory or page." />
</rule>
于 2013-10-25T03:38:09.690 回答