Структура URI моего веб-сайта сильно изменилась в последнее время, и мне нужно перенаправить все старые страницы на соответствующие им новые страницы. У меня есть пунктирный список пар всех старых и новых URI. В настоящий момент я пытаюсь определить простые обработчики для каждого в цикле:Список переадресаций Hunchentoot
(let ((redirects '(("/old/uri/example-1" . "/new/uri/example-1"))))
(dolist (redirect redirects)
(hunchentoot:define-easy-handler (???? :uri (first redirect))()
(redirect (rest redirect)))
))
Возможно, есть лучший способ. Предполагая, что define-easy-handler корректен, для каждого простого обработчика требуется символ функции. Я попытался следующий без толка:
- Размещения (GENSYM), где он ожидает функциональный символ
- Использования списков, а не пунктирные списков и призывающий (первое перенаправление), где он ожидает символ
- Размещения quasiquote вокруг всего этого предмета и недокачка вокруг (первая переадресация)
Что было бы хорошим способом для этого?
Возможно, вы захотите рассмотреть возможность создания [пользовательского акцептора] (http://weitz.de/hunchentoot/#acceptor-behaviour) вместо использования простых обработчиков.Таким образом, вы можете делать перенаправления так, как хотите. – jkiiski
Спасибо @jkiiski. Ваше предложение кажется лучшим способом решить его, чем так, как я. Я стремлюсь получить достаточно навыков для реализации такого решения. – SpyroSoft