Redirecionando 404s no Craft CMS

Recentemente, mudei meu blog do Squarespace para uma instância auto-hospedada do Craft CMS . Já que Craft é relativamente novo no cenário, criar uma ferramenta de importação baseada em PHP estava fora de questão.

Então, como uma 404.htmlsolução temporária , estou sequestrando o modelo e mantendo meu antigo blog do Squarespace por perto para postagens populares que não foram transferidas para o Craft. Portanto, em seu 404.htmlmodelo Twig , o seguinte:

{% extends "_layout" %}
{% set title = "404" %}

{% if craft.request.path | match('#^blog/[0-9]{4}/[0-9]{1,2}/.*?#') %}
{% redirect 'http://tnypxl.squarespace.com/' ~ craft.request.path %}
{% else %}
{% block content %}
<h1>Page not found</h1>

<p>Whats worse, a hilarious 404 page cant be found either.</p>
{% endblock %}
{% endif %}

Para que isso funcione, você precisará baixar o plug-in de correspondência do Craft regex que eu fiz.

Twig é uma linguagem de modelagem realmente poderosa. Eu diria que é mais poderoso do que a implementação de JSON-T do Squarespace.