如何在Typo3 v8上设置子域名自己的CDN?

时间:2017-10-13 12:05:24

标签: typo3 subdomain cdn typo3-8.x

由于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前叉: ja_replace for Typo3 v7-8

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

----编辑2 ----

Testes this(由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 ----

最后,我找到了一个满足我的解决方案。 (如果我已登录) 我把它贴在这里作为答案。

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

3 个答案:

答案 0 :(得分:1)

您可以使用TYPO3的stdWrap功能。这适用于所有TYPO3版本> = 6.2。

page.stdWrap.replacement {
    10.search = #"fileadmin\/_processed_\/#
    10.replace = "https://cdn.mydoamin.de/fileadmin/_processed_/
    10.useRegExp = 1
}

答案 1 :(得分:1)

经过几天的研究后,我发现了一个很好的解决方案,它与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)如有必要,将“ page.config.baseURL ”的值更改为http,如果不使用https,则不将https更改为

----编辑1 ----

只要我登录,这只是工作正常。 当我加载我的Typo3网站而没有登录它不会取代任何东西。

答案 2 :(得分:0)

来自Michiel Roos的

TYPO3扩展 replacecontent ,MaxServ具有几乎相同的功能。 https://extensions.typo3.org/extension/replacecontent/ 当前版本仍然只与TYPO3 7.6兼容,但它可以轻松地与TYPO3 8兼容,同时在github上https://github.com/MaxServ/t3ext-replacecontent并改进现有代码。