【问题标题】:Redirect a list of URLs in Web.Config重定向 Web.Config 中的 URL 列表
【发布时间】:2019-04-15 22:06:55
【问题描述】:

我有一个 URL 列表,其中一些是非现场的,用于站点平台转换。我在电子表格中有这些的一对一映射,并且需要执行从旧 URL 到新 URL 的 301 重定向。

例如 /foo(住在https://oldsite.com)到https://newsite.com/some_promo

经过一个小时的谷歌搜索,我在 web.config 中找到了很多花哨、雄辩的东西,但我真正需要的只是一把锤子,我很乐意暴力破解。

从大约 200 个 URL 的列表中简单地发出从 URL1 到 URL2 的 301 重定向的最佳方法是什么?

【问题讨论】:

标签: iis web-config url-redirection


【解决方案1】:

我不知道“最好”的方式,这肯定是“一种方式”...

假设您有一个包含 2 列的电子表格 - “A”列包含作为相对路径的旧网址,“B”列包含完全限定的目标网址 - 您应该能够使用电子表格连接功能(我已经这样做了对于 nginx 重写,但它应该适用于 IIS)来组装重定向,然后将它们复制并粘贴到 web.config 中。

从简单的重写开始

<rule name="Redirect 1" stopProcessing="true">
     <match url="/source.html" />
     <action type="Redirect" url="https://www.example.com/destination.html" />
</rule>

(您需要先将其“扁平化”为一行)

将规则分成&lt;rule name="Redirect" stopProcessing...url="" /&gt;...url="和最后" /&gt;&lt;/rule&gt;四个部分(即留出空间给规则编号,并删除源和目标url),并将这4个片段粘贴到单元格中工作表中的 E1、F1、G1 和 H1。在“C”列输入数字 1..200(规则需要唯一名称),然后在“D”列(至少在 Excel 中)输入

=CONCAT(E$1,C1,F$1,A1,G$1,B1,H$1)

(E$1 .. H$1 是包含片段的 4 个单元格 - $ 是为了阻止 Excel 增加行数)。

将该公式复制到页面下方 - volia

【讨论】:

  • 谢谢。不太担心电子表格部分 - 更多关于创建重定向的正确方法。到目前为止,它看起来就像您在上面显示的单个规则或被拉入重定向规则的 rewriteMap。我能够拼凑出似乎适合 rewriteMap 的结构。我认为我的主要问题是我发现文档并没有真正很好地解决这个简单的案例/或以直接的方式,特别是对于通常不使用 IIS 的人,这就是为什么谷歌没有帮助我太多.
猜你喜欢
  • 1970-01-01
  • 2017-06-19
  • 1970-01-01
  • 2021-06-12
  • 2018-03-31
  • 1970-01-01
  • 2021-10-08
  • 2017-12-30
  • 2019-03-25
相关资源
最近更新 更多