2

由于Typo3 v8 不支持Content Replacer (ja_replacer)是否有任何其他方法可以替换 Typo3 v8 中的 url 字符串并设置自己的 CDN 服务?

为了更清楚,在 Typo3 v4.5-6.1 中它看起来像这样:

config.tx_ja_replacer {
  search {
    1="typo3temp/
    2="fileadmin/
    3="typo3conf/
  }
  replace {
    1="https://cdn.domain.de/typo3temp/
    2="https://cdn.domain.de/fileadmin/
    3="https://cdn.domain.de/typo3conf/
  }
}

但是不再支持此扩展。

提前致谢!

---- 编辑 1 ----

如果有人仍然对 'ja_replacer' 感兴趣,这是 Typo3 v7 和 v8 Fork: ja_replace for Typo3 v7-8

有了这个,我设法让它工作,但遇到了 CORS 问题,即使字体设置为通配符来源

---- 编辑 2 ----

对此进行测试(由 Mario Naether 编写),但这也不起作用(即使使用 page.stdWrap.replacement)

page.stdWrap.replacement {
  10.search = #"fileadmin\/#
  10.replace = "https://cdn.domain.de/fileadmin/
  10.useRegExp = 1
  11.search = #"typo3temp\/#
  11.replace = "https://cdn.domain.de/typo3temp/
  11.useRegExp = 1
  12.search = #"typo3conf\/#
  12.replace = "https://cdn.domain.de/typo3conf/
  12.useRegExp = 1
}

---- 编辑 3 ----

最后我找到了一个让我满意的解决方案。(如果我已登录)我将其发布在这里作为答案。

这实际上是有效的..但如果我没有登录则不会...... 所以现在我必须管理它才能工作,即使我在没有登录的情况下加载网站。

4

3 回答 3

1

您可以使用 TYPO3 中的 stdWrap 函数。这适用于所有 TYPO3 版本 >= 6.2。

page.stdWrap.replacement {
    10.search = #"fileadmin\/_processed_\/#
    10.replace = "https://cdn.mydoamin.de/fileadmin/_processed_/
    10.useRegExp = 1
}
于 2017-10-16T07:01:29.170 回答
1

Soooo 经过几天的研究,我找到了一个很好的解决方案,它适用于 Typo3 v7.6.0 - v8.99.99

安装ja-replacer(由 PHORAX 提供)

并将此代码添加到您的 TypoScript

#CDN über Sub-Domain 'CDN.DOMAIN.de'
config.tx_ja_replacer{
  search {
    10="/typo3temp/
    11="typo3temp/
    12="/fileadmin/
    13="fileadmin/
    14="/typo3conf/
    15="typo3conf/
  }

  replace {
    10="https://CDN.DOMAIN.de/typo3temp/
    11="https://CDN.DOMAIN.de/typo3temp/
    12="https://CDN.DOMAIN.de/fileadmin/
    13="https://CDN.DOMAIN.de/fileadmin/
    14="https://CDN.DOMAIN.de/typo3conf/
    15="https://CDN.DOMAIN.de/typo3conf/
  }
}

#Domain-replace Setup für CDN
[globalString = ENV:HTTP_HOST = WWW.DOMAIN.de]
  page.config.baseURL = https://WWW.DOMAIN.de/
  config.tx_ja_replacer.replace < tx_ja_replacer
[global]

1.) 现在用您自己的 CDN-Subdomain 或 CDN-Domain替换每个“ cdn.domain.de ”

2.)将每个“ www.domain.de ”替换为您的域。

2b) 如有必要,如果您不使用 https,请将“ page.config.baseURL ”的值更改为 http 而不是 https

---- 编辑 1 ----

不知何故,只要我登录,它就可以正常工作。当我在没有登录的情况下加载我的 Typo3 网站时,它不会替换任何东西。

于 2017-10-16T13:03:00.990 回答
0

TYPO3 扩展替换来自 Michiel Roos 的内容, MaxServ具有几乎相同的功能。https://extensions.typo3.org/extension/replacecontent/ 当前版本仍然只兼容 TYPO3 7.6,但可以很容易地兼容 TYPO3 8,同时在 github 上 fork https://github.com/MaxServ/t3ext-替换内容并改进现有代码。

于 2017-10-13T12:33:38.433 回答