使用Hakyll重定向旧URL(和子域)

时间:2015-09-16 19:46:47

标签: haskell redirect http-status-code-301 hakyll

我正在尝试将我的网站从Blogger迁移到Hakyll(我会将其部署到Github页面),但我不希望所有旧链接都中断。此外,我的旧帖子都在blog.domain.com/,而现在他们将在domain.com/posts/。更重要的是,Blogger中的URL只包含月份和年份,而在Hakyll中,它们也包含了这一天,这意味着我几乎肯定必须手动执行操作。一个快速的谷歌搜索没有找到答案,我没有足够的知识如何写网站来解决我自己的问题。

我尝试从

重定向的格式示例
blog.domain.com/2015/09/title.html

我想将映射到

domain.com/posts/2015-09-08-title.html

编辑:I found something that ought to work, but doesn't。完全按照示例文件设置重定向后,我得到两个错误之一:

1)unexpected character \n

OR

2)expected ListField but got StringField

1 个答案:

答案 0 :(得分:1)

解决这个问题最终会采取一些不同的技巧。

部分可能是特定于NameCheap的,但我所要做的只是设置从blog.domain.com到domain.com的重定向,如this tutorial中所示。

另一部分是让哈基尔做正确的路线选择。在处理gsubRoutes函数的特性后,结果相当简单(代码here)。