plan2net/sierrha

404 '找不到'和403 '禁止访问'错误处理器。404处理器在找不到页面时显示自定义内容,但不包括CSS或JS等资源。403处理器在未授权访问时重定向到登录URL。

安装数: 8,195

依赖项: 0

建议者: 0

安全: 0

星标: 5

关注者: 5

分支: 4

开放问题: 3

类型:typo3-cms-extension

0.4.2 2022-07-11 12:02 UTC

README

一组扩展TYPO3默认网站错误处理的错误处理器。

可用处理器

页面未找到(HTTP状态404)

显示来自页面或外部URL的内容。

如果资源不可用或内容为空,则显示标准TYPO3错误布局中的消息。

当请求的URL表示Web资源(例如CSS文件)时,仅发送一个小响应以节省带宽(“资源文件扩展名的正则表达式”,见扩展管理器配置)。

默认情况下要处理的文件扩展名

  • css
  • eot, ttf, woff, woff2
  • gif, ico, jpg, jpeg, png, svg, webp
  • js
  • json
  • xml

禁止访问(HTTP状态403)

如果不允许在没有会话的情况下访问页面,则重定向到登录URL。

如果用户已经登录,但没有权限访问(因为缺少组权限),则可以重定向到备用页面(“在缺少权限时显示页面内容”,见网站配置)。

在其他任何情况下,都会触发404“找不到”错误。TYPO3将调用配置的错误处理器。

缓存

错误页面缓存在TYPO3的页面缓存中。如果配置了TYPO3页面(而不是外部URL),则在页面内容更改时自动使缓存失效。

要求

  • TYPO3 9 LTS, 10 LTS, 11 LTS, 12 LTS
  • 404:包含人类可读的“页面未找到”消息的页面/URL
  • 403:执行登录并将重定向到提供的URL的URL(例如扩展“felogin”)
  • Web服务器必须能够通过配置的域名访问自身

安装

通过composer.json添加

"require": {
  "plan2net/sierrha": "*"
}

在扩展管理器中安装并激活扩展。

扩展管理器配置

资源文件扩展名的正则表达式:

这是默认的正则表达式。

css|eot|gif|ico|jpe?g|js(?:on)|png|svg|ttf|webp|woff2?|xml

启用调试模式:

如果出现配置错误,则在调试模式下或如果HTTP请求来自$GLOBALS['TYPO3_CONF_VARS']['SYS']['devIPmask']中列出的IP时,将显示详细的错误。否则,错误将被传递给TYPO3处理。

网站配置

404 "找不到"

在“错误处理”选项卡上创建一个新的处理器。

HTTP错误状态码: "404" 错误处理方式: "PHP类"

保存配置。

错误处理器类目标(FQCN): "Plan2net\Sierrha\Error\StatusNotFoundHandler" 在找不到时显示页面内容: TYPO3页面或外部URL

403 "禁止访问"

在“错误处理”选项卡上创建一个新的处理器。

HTTP错误状态码: "403" 错误处理方式: "PHP类"

保存配置。

错误处理器类目标(完全限定类名): "Plan2net\Sierrha\Error\StatusForbiddenHandler" 登录页面: TYPO3 页面或外部 URL 在权限缺失时显示页面内容: TYPO3 页面或外部 URL 登录页面 URL 的返回参数: 登录页面 URL 的查询参数,不带开头的 ? 或 &

注意: 扩展 "felogin" 使用的登录页面参数是 return_url=###URL###

URL 标记

URL 返回参数支持标记替换。

变更日志

  • 0.4.2 兼容 PHP 8.1 版本发布
  • 0.4.1 防止在请求中找不到语言时抛出异常
  • 0.4.0
    • 错误页面被缓存在 TYPO3 的页面缓存中
    • 设置为与 v11 LTS 兼容
  • 0.3.8 将扩展密钥添加到 composer.json
  • 0.3.7 防止 403 处理器陷入循环
  • 0.3.6 防止 404 处理器陷入循环
  • 0.3.5 不要两次获取错误页面
  • 0.3.4 设置为与 v10 LTS 兼容
  • 0.3.3
    • 为缺失的错误内容添加回退
    • 默认情况下,在配置错误的情况下不要抛出异常
  • 0.3.2 将 eot、ttf 和 woff/woff2 添加到 Web 资源列表
  • 0.3.0 显示 404 状态的错误页面;对于缺失的 Web 资源,只发送小的 404 响应
  • 0.2.0 在当前登录权限缺失时显示错误页面
  • 0.1.0 重定向到登录页面