首页 > 解决方案 > 如何在 Squarespace 中使用通配符和变量减少 301 重定向条目的数量?

问题描述

我最近重命名了构成我博客的所有 URL……并且几乎为每个页面都编写了重定向……在我可以使用的地方使用通配符……记住……我所知道的只是 * 通配符时间...

这是我所拥有的一个例子......

/season-1/2017/1/1/snl-s01e01-host-george-carlin -> /season-1/snl-s01e01-george-carlin 301

我想写一个包罗万象的内容,通过一个重定向条目重定向所有 38 季的评论……但我不知道如何摆脱 s01e01- 和 -george-carlin 之间的“主机”一词。 ..并认为它会像这样工作......

 /season-*/*/*/*/snl-s*e*-host-*-* -> /season-*/snl-s*e*[code to remove the word "host"]-*-* 301

这甚至接近正确吗?我需要那么多*吗

在此先感谢您的帮助...

标签: redirectwildcardsquarespace

解决方案


不幸的是,使用Squarespace 提供的重定向功能,即通配符 ( *) 和单个变量 ( ) ,您将无法减少单个重定向条目的数量[name]。将需要多个变量,但仅[name]支持。

您可以获得的最接近的是:
/season-1/*/*/*/snl-s01e01-host-[name] -> /season-1/snl-s01e01-[name] 301

但是,如果我理解了一些事情,虽然上面的重定向看起来更笼统,但仍然需要为每个帖子单独复制/粘贴。因此,尽管它展示了可以实现的最佳效果,但它并不是技术改进。

因此,只有两种选择:

  1. 创建一个 Google 表格(或其他电子表格),其中旧 URL 被复制/粘贴在第一列中,使用arrayformula正则表达式解析旧 URL 并生成新 URL 的公式被添加到第二列,第三列中的公式是用和写入join两个单元格。完成后,您可以单击、拖动并突出显示第 3 列中的所有单元格,然后将它们复制并粘贴到 Squarespace 的“URL 快捷方式”文本区域中。找出、编写和测试正确的公式可能非常耗时,但它确实避免了手动输入每个重定向。总的时间/精力是否更少取决于重定向的数量和编写电子表格公式的熟练程度。->301



    可能是使用上面的重定向代码会简化需要在电子表格中编写的公式,这可能会节省一些时间。

  2. 另一种选择是删除您的重定向,而是通过添加到 404/Page-not-found 页面的 JavaScript 处理重定向。因为听起来您已经有了所有的重定向,但只是试图减少总数,所以我不建议您更改为基于 JavaScript 的方法。无论如何,使用 JavaScript 还有其他缺点。

推荐阅读