是否有人知道如何将大型(550KB)重写文件拆分成更小的部分?
我们遇到的问题是旧网站有数千个需要映射的网址,但由于250KB的限制我们无法映射它们。
我正在考虑以下方面的事情:
<rewrite>
<rewriteMaps>
<rewriteMap configSource="config\RewriteMaps.LargePart1.config" />
<rewriteMap configSource="config\RewriteMaps.LargePart2.config" />
<rewriteMap configSource="config\RewriteMaps.LargePart3.config" />
<rewriteMap configSource="config\RewriteMaps.LargePartX.config" />
</rewriteMaps>
</rewrite>
然而,问题是rewriteMap节点不是部分,所以不能使用configSource。有没有人想出一个优雅的解决方案?
答案 0 :(得分:0)
我们坚持了很长时间,最终编写了自己的301重定向器。在sitecore中,它位于ItemResolver之后修补的管道中,该管道消耗了大文件(未包含在任何Web.configs中)。我们不能使用“ registry hack”选项,因为它是一个Azure Service App,并且没有(简单又便宜)对注册表的访问。
答案 1 :(得分:-2)
我也一直面临着这个问题,并四处寻找解决方案。 IIS模块中没有任何内容可以执行此操作(跨多个文件跨越重写映射)
我已经解决了 - 很好的旧DOS方式:)
我有一个大的重写映射文件(50000+条记录),逻辑上(!)命名为Map部分。 我所做的是将每个地图存储在自己的文本文件中。 Map1.config Map2.config Map3.config
我有一个&#39; header.config&#39;其中包含两行
<rewrite>
<rewriteMaps>
和footer.config有
</rewriteMaps>
每个Map配置都以适当命名开头
<rewriteMap name="Map name" defaultValue="">
,包含我要插入的所有重写,然后以</rewriteMap>
标记结束。
最后 - 要生成我的完整文件,我在DOS中使用COPY命令! 我已经设置了批处理文件来生成它 GenerateRewriteConfig.bat基本上就是这个
COPY header.config + Map1.config + Map2.config + Map3.config + footer.config MySiteRewriteMaps.config
对于持续更新,我修改相关的MAP配置文件并运行GenerateRewriteConfig.bat!
我现在正在开发一个自动脚本,将各种地图拉出到单个文件中(如果有人有太多地图并且需要使用此工具)。我会在几周内发送更新。
希望这有助于某人!