You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sitecore多站点下IIS Rewrite重定向指定路径至独立域名(Web.config)

解决Sitecore多站点中通过主站路径访问二级站点的问题

嘿,我完全懂你现在的困扰——你在Sitecore里搭好了多站点架构,主站mysite.com和二级站secondsite.org各自访问都没问题,但偏偏用户能通过mysite.com/second-site-home这种主站路径直接打开二级站的内容,这显然破坏了你原本的多站点隔离设计。你已经想到用Web.config的URL重写规则来解决,我来帮你把这个规则补全并解释清楚,确保它能精准拦截这种访问方式:

<rule name="Block Secondary Site Access via Main Site Path" stopProcessing="true">
  <match url="^second-site-home(/.*)?$" />
  <conditions logicalGrouping="MatchAll">
    <add input="{HTTP_HOST}" pattern="^mysite\.com$" />
  </conditions>
  <action type="Redirect" url="https://secondsite.org{R:1}" redirectType="Permanent" />
</rule>

规则细节解释:

  • 匹配规则:match url="^second-site-home(/.*)?$" 会捕获所有以second-site-home开头的路径,包括后面带子页面的情况(比如mysite.com/second-site-home/about),不会漏掉二级站的任何子页面访问。
  • 域名校验:conditions里的{HTTP_HOST}匹配,确保只有当访问的是主站域名mysite.com时,这个规则才会生效,完全不会影响二级站secondsite.org自身的正常访问。
  • 重定向行为:用永久重定向(redirectType="Permanent")把请求转到二级站的对应路径,{R:1}会自动保留原来的子路径,比如把mysite.com/second-site-home/about精准重定向到secondsite.org/about,保证用户跳转到正确的页面,同时也利于搜索引擎优化。

额外注意事项:

  • 把这个规则放在Web.config的<rewrite><rules>节点下,并且尽量放在其他重写规则的前面,避免被其他规则提前拦截。
  • 测试前记得清空浏览器缓存,因为永久重定向会被浏览器缓存,旧缓存可能会影响测试结果。
  • 如果你的二级站还有其他可通过主站访问的入口路径,只需要复制这个规则,修改match url里的路径和对应的action域名即可。

内容的提问来源于stack exchange,提问作者Erica Stockwell-Alpert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:45:48