sgalinski/sg-routes

URL重定向和页面找不到处理

安装: 5,040

依赖者: 0

建议者: 0

安全: 0

类型:typo3-cms-extension

7.0.6 2024-07-18 09:50 UTC

README

许可证: GNU GPL, Version 2

仓库: https://gitlab.sgalinski.de/typo3/sg_routes

请在此处报告错误: https://gitlab.sgalinski.de/typo3/sg_routes

注意: sg_routes可以免费使用,或者通过从我们的在线商店购买许可证密钥。您可以在sg_routes的扩展管理器配置中输入许可证密钥。

免费版中排除的功能

  • 正则表达式路由
  • .htaccess重定向规则生成
  • 重定向日志视图

关于

使用此扩展,您可以轻松创建和管理页面URL重定向,并为您的 .htaccess文件生成重定向规则。

重要提示!

sg_routes是一个多域名扩展,因此在您使用配置模块之前,请确保您的安装中的所有域名都为其网站根页面正确配置了域名记录。

您可以在这里找到更多信息。

后端模块

安装成功后,您将在TYPO3后端“WEB”部分找到一个新模块。

点击它将加载管理面板。使用上面的下拉菜单,您可以在“重定向管理”、“重定向日志”和“页面找不到处理”视图之间切换。

重定向管理视图

在这里,列出了您所有的自定义URL路由。列表可以根据类别和搜索词进行过滤。您还可以创建、更新和删除您的路由和类别。

注意: 要创建路由/类别,您需要首先在页面树中选择一个页面。

重定向日志视图

在此视图中,您可以找到记录何时使用路由记录将您的网站用户重定向,以及每次重定向执行所需的时间(以秒为单位)。

注意: 根据重定向被触发的频率,日志数据库表可能会变得相当大。为了处理这种情况,您将找到一个名为“垃圾收集”的任务已注册为tx_sgroutes_domain_model_log表。建议在安装扩展后设置此任务,并确保它定期由调度器触发。如果您还没有这样做,您可以通过点击此链接来找到有关如何为调度器扩展设置cron作业的更多信息。

使用方法

创建重定向规则

在您的后端模块中,点击“创建”按钮。现在,输入您希望从哪个url(源URL)重定向到(目标URL),以及您希望它是一个永久重定向(301)还是一个临时重定向(302)。

示例:您想从起始页面临时重定向到联系页面

Source URL : /

Destination : /contact

Redirect Code: 302

Description: Here you can add a custom description for your rule, visible in the backend overview

当创建或编辑规则时,您还可以选择使用正则表达式。通过勾选此项,源URL将被评估为正则表达式并与请求URL进行匹配。如果找到匹配项,则根据目标URL进行重写应用该规则。

示例:您想要将您的/news/...页面永久重定向到/blog/...

Source URL : ^/news/(.+?)$

Destination : /blog/$1

Redirect Code: 301

注意:规则按照在BE模块列表中显示的顺序进行评估。在创建新规则时请考虑这一点,并且您可以通过使用以下按钮来调整规则的顺序:按钮进行调整。

重定向规则选项

创建一个或多个重定向规则后,您将在后端模块中获得所有规则的列表概览。

您可以点击规则进行编辑或使用菜单按钮

编辑
禁用/启用
删除
... 展开/折叠选项菜单
显示更多信息
显示历史记录
版本控制
创建新
上移
下移
复制
剪切
粘贴到后面

将您的重定向规则导出到 .htaccess 文件

将重定向路由插入到您的 .htaccess 文件中是一种良好的做法,以提高性能。

只需点击 " htaccess" 按钮并复制粘贴到您的 .htaccess 文件中。

如果一切正常,您现在可以使用“"删除所有"按钮。

注意:请记住,“htaccess”和“删除所有”操作将影响当前规则的筛选选项。因此,只有您在分页列表中看到的规则将被考虑。

开发者指南

TYPO3 引导钩子

为了获得最佳性能,此扩展在确定域名根页面后,尽可能早地挂钩到 TYPO3 引导机制。

这是通过在 ext_localconf.php 中使用配置数组并提供一个到所需钩子函数的路径来完成的,即 SGalinski\SgRoutes\Service\RoutingService->hook。通过扩展或替换此函数,可以实现更复杂的重定向/重写规则。

有关钩子的更多信息,请参阅TYPO3 文档

常见问题解答

为什么我应该将我的重定向规则放入 .htaccess 文件中?

这样做可以使您的网站获得略微更好的性能。

当我尝试打开我的网站时,我得到了错误消息“重定向太多”

您很可能陷入了重定向循环。通过复制您的 .htaccess 条目进行备份,并重置所有更改。尝试确定您是否通过路由创建了一个无限循环,例如

/home redirects to /contact
/contact redirects to /support
/support redirects to /home