```markdown
2024-06-05 16:03:18作者:凤尚柏Louis
# Retour for Craft CMS 2.x: 精准URL重定向插件
此项目【已被废弃】,但仍然能正常运行,并允许您按照需要继续使用或进行二次开发。Craft CMS 3.x版本的对应插件可在[nystudio107/craft-retour](https://github.com/nystudio107/craft-retour)找到,也可通过Craft Plugin Store直接安装。
## 插件简介
**Retour** 是针对Craft CMS 2.x的一个插件,它智能地处理过时的URL重定向,帮助你在网站重构和结构调整时不丢失SEO价值。现在虽然不再维护,但其功能依然强大且完全可用。

相关链接:[Craft 3.x版 Retour](https://github.com/nystudio107/craft-retour)
## 技术剖析
Retour插件采用了精确和正则表达式匹配两种方法来处理URL模式,并提供了一个特别的"Retour Redirect"字段类型,可以添加到你的条目中。这使得动态条目重定向成为可能,可以在匹配URL模式时访问条目的数据。
当条目的slug更改或者在结构中移动条目时,Retour也会自动创建重定向。此插件设计得性能高效,只有在发生404错误时才会产生影响,并且会缓存结果以提高后续重定向请求的速度。
## 应用场景
1. 对于大型网站重建,大量静态重定向可能导致服务器每次请求处理速度变慢,此时使用插件处理是更好的选择。
2. 当旧网站的URL模式与新网站不匹配,创建直接映射困难时。
3. 如果你无法访问服务器配置文件,或者希望客户能够轻松管理重定向。
## 特点
- 只有在404错误出现时才尝试重定向,不影响正常页面的加载速度。
- 提供动态条目重定向功能,利用条目数据作为关键来确定新的URL映射。
- 用户友好的后台管理界面,记录404错误统计信息。
- 支持手动设置静态重定向,方便对确定性映射的URL进行管理。
### 小贴士:关于.htaccess
尽管许多人习惯于使用`.htaccess`进行重定向,但是长期来说,最好将其禁用并通过服务器配置文件进行设置。这是因为`.htaccess`会影响每一条请求的性能,并且当URL映射复杂时,使用正则规则可能更麻烦。Retour解决了这些问题,只在必要时执行,且提供了更灵活的映射方式。
## 动态条目重定向
Retour的"Retour Redirect"字段类型允许您将字段添加到条目类型中,对于404(未找到)的URL,如果它们匹配了遗留的URL模式,将会重定向至该条目的URL。
此外,您可以访问条目上下文中的数据,例如导入一个名为`recipeid`的字段,然后在遗留的URL模式中匹配它,如:`/old-recipes/{recipeid}`。
## 配置与使用
创建"Retour Redirect"字段并设定默认值,新条目会继承这些值。通过这种方式,你可以一次性设置匹配模式,而无需为每个条目重复操作。
要创建重定向字段,请像其他字段一样操作,并设置以下默认值:
- **默认遗留URL模式**
- **默认匹配类型**
- **默认重定向类型**
- **可改变的重定向**
## 总结
Retour是一个高效且灵活的工具,适用于处理大型网站的URL重定向,尤其适合网站重构和迁移过程中保持SEO价值。它的动态条目重定向功能以及支持手动设置静态重定向使其在众多解决方案中脱颖而出。
现在就试试Retour,让您的网站重建更加平滑无痛!
---
注:Craft CMS 2.x版本的Retour不再更新,建议升级到最新版本以获得最佳体验。
这篇文章介绍了Retour插件的基本信息,技术原理,适用场景以及它的主要特点,旨在引导用户理解并考虑采用这个插件来解决他们的URL重定向问题。
登录后查看全文
热门项目推荐
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
new-apiAI模型聚合管理中转分发系统,一个应用管理您的所有AI模型,支持将多种大模型转为统一格式调用,支持OpenAI、Claude、Gemini等格式,可供个人或者企业内部管理与分发渠道使用。🍥 A Unified AI Model Management & Distribution System. Aggregate all your LLMs into one app and access them via an OpenAI-compatible API, with native support for Claude (Messages) and Gemini formats.JavaScript01
idea-claude-code-gui一个功能强大的 IntelliJ IDEA 插件,为开发者提供 Claude Code 和 OpenAI Codex 双 AI 工具的可视化操作界面,让 AI 辅助编程变得更加高效和直观。Java01
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
519
3.69 K
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
1
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
67
20
暂无简介
Dart
761
182
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.32 K
740
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
16
1
React Native鸿蒙化仓库
JavaScript
301
347
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
1