Copied unchanged from public/typo3conf/ext/ of EP/website at 9593cc8631354f8a363d6609de8b7433f669a9a0 (Git-tracked files only). History stays in the old repository. Only composer.json files are added so the extensions install as path packages. Co-Authored-By: Claude Opus 5.5 <[email protected]>
27 lines
1.3 KiB
Plaintext
27 lines
1.3 KiB
Plaintext
config.tx_replacer {
|
|
enable_regex = 1
|
|
|
|
# Only images go to the CDN. The theme's own css/js/fonts are served by the production
|
|
# host: they are already minified by Webpack, gzipped by mod_deflate and content-hashed
|
|
# for a year of immutable browser caching, and keeping them on the page's own origin
|
|
# means they arrive over the connection the browser has already opened rather than
|
|
# costing a second DNS lookup and TLS handshake on the critical path.
|
|
#
|
|
# It also keeps them clear of the pull zone's habit of occasionally wedging a single
|
|
# cache key (10.0s -> 504 errorcode 106 until that key is purged, while the origin
|
|
# serves the same bytes in under 100ms). For an image that degrades one element; for
|
|
# js/main.<hash>.js it would take every visitor's JavaScript down.
|
|
#
|
|
# typo3temp is scoped to generated images on purpose - assets/compressed holds other
|
|
# extensions' concatenated css/js, which belongs on the origin for the same reason.
|
|
# The quote character is captured rather than matched literally, so url() values
|
|
# written with single quotes are rewritten too.
|
|
search {
|
|
10 = /(["'])\/?(fileadmin|uploads|typo3temp\/assets\/(?:_processed_|images))/
|
|
}
|
|
|
|
replace {
|
|
10 = $1https://cdn.ep-reisen.de/$2
|
|
}
|
|
}
|