如何强制 TYPO3 v12 在 _assets 中符号链接时使用扩展程序的真实名称?

问题描述 投票:0回答:1

从 TYPO3 v12 开始,扩展不再位于网络服务器的文档根目录内,并且 Resources/Public 文件夹符号链接到 _assets/SOME-RANDOM-HASH。当通过 TypoScript 或 Fluid 在模板中添加 CSS、JavaScript 或图像时,您可以使用 EXT:my_extension_name 链接到扩展资源/公共文件夹,但是当您使用外部 JavaScript 或需要链接到扩展时,有哪些可能性或策略?来自 HTML 内容元素的图像?

因为扩展也用于定义网站“主题”或“模板”,所以在这些“扩展”的 _assets 中使用符号链接的真实扩展名时,我没有看到任何安全问题。那么是否有一个选项(例如在composer.json 中)在符号链接时使用扩展名的真实名称?

链接到属于网站主题一部分的静态文件是否有任何“最佳实践”?

typo3 typo3-extensions typo3-12.x
1个回答
0
投票

有一些方法:

  • 创建一个自定义中间件,“侦听”特定 URL 并传递静态内容(即侦听“/static/yourfile.ext”,使用 fpassthrough 等;确保安全性,确保解析外部文件)
  • 创建一个中间件,在发出内容之前进行搜索+替换,替换“STATIC:...”或任何其他语法,以解析将其替换为 EXT:... 语法(从而获得“散列”URL)。这将有助于内容元素。
  • 实际上将静态引用的内容移动到自定义文件位置,例如 /static/ (或在 fileadmin 中)
  • 创建一个像 /sitepackage/ 这样的符号链接到您的扩展资源/公共目录,并引用它。

哈!

© www.soinside.com 2019 - 2024. All rights reserved.