b13 / justincase
对于传入的URL,无论是大写还是小写,都可以正常工作。
Requires
- php: ^7.2 || ^8.0
- typo3/cms-core: ^9.5 || ^10.0 || ^11.0 || ^12.0
Requires (Dev)
- typo3/coding-standards: ^0.2.0
- typo3/tailor: ^1.1
Replaces
- typo3-ter/justincase: 1.3.0
README
当您的营销团队不小心推送了带有混合大小写URL的活动时,他们不应该遇到404错误。
这个TYPO3扩展解决了您的痛苦——以防万一。
它做什么?
默认情况下,TYPO3 v9在调用实际页面为https://b13.com/lets-connect/
时是严格的,但如果您的营销人员将其命名为https://b13.com/Lets-Connect/
,则TYPO3 v9默认将URL保存为小写。
一个基于PSR-15的中间件将传入的URL转换为小写,您应该没问题,因为这两个URL都对用户有效。
安装
通过composer req b13/justincase
使用它,或者从TYPO3扩展仓库安装扩展justincase
。
justincase需要TYPO3 v9.5.0或更高版本。
配置
作为网页开发者,有时团队想要一个307重定向,有时只是让一切变成小写。
justincase做了后者(“假装它工作”),默认接收URL,并通过默认方式进一步处理URL,但是您可以通过修改站点配置yaml中的语言数组,在站点级别配置扩展以执行重定向。
languages:
-
title: English
...
redirectOnUpperCase: true
# in case you want to use a status code, other than 307
redirectStatusCode: 303
如果您希望为所有语言启用重定向,请将以下行添加到站点配置yaml的底部
settings:
redirectOnUpperCase: true
# in case you want to use a status code, other than 307
redirectStatusCode: 303
请注意,此选项仅适用于GET或HEAD请求。
注意事项
如果特定的路由增强器检查驼峰式命名(例如{order}/paymentForm/
),这可能会导致意外的行为和404页面。
许可证
作为TYPO3核心,justincase受GPL2或更高版本许可。有关更多详细信息,请参阅LICENSE文件。
背景、致谢及后续维护
此扩展是为了展示您可以使用中间件为TYPO3 v9做什么以及如何定制很多事情而创建的。请参阅https://forge.typo3.org/issues/87544以了解初始请求。
TYPO3社区经常要求功能,可以将这些功能放入小型高效的扩展中,而justincase正是这样做的,而不必将所有负担都放在TYPO3核心中。
justincase最初由Daniel Goerz和Benni Mack为b13, Stuttgart创建,Matthias Stegmann提供了扩展名称的支持。
了解我们为帮助我们在客户项目中提供价值而开发的更多TYPO3扩展。作为我们工作方式的一部分,我们专注于测试和最佳实践,以确保我们所有代码的长期性能、可靠性和结果。