PHPackages                             gaya/typo3-cacheable-resource-url - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Caching](/categories/caching)
4. /
5. gaya/typo3-cacheable-resource-url

ActiveTypo3-cms-extension[Caching](/categories/caching)

gaya/typo3-cacheable-resource-url
=================================

Insert a hash in the url of all the resources.

14.0.0(4mo ago)04GPL-2.0+PHP

Since Feb 21Pushed 4mo agoCompare

[ Source](https://github.com/agence-gaya/typo3-cacheable-resource-url)[ Packagist](https://packagist.org/packages/gaya/typo3-cacheable-resource-url)[ Docs](https://git.gaya.fr/projects/GAYA/repos/gaya-typo3-cacheable-resource-url/)[ RSS](/packages/gaya-typo3-cacheable-resource-url/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (2)Versions (33)Used By (0)

ext:cacheable-resource-url
==========================

[](#extcacheable-resource-url)

Insert a hash in the url of all the resources, and refresh this hash when the cache is cleared. This way, clients (and CDN) can cache resources forever, but will get fresh resources if the cache is cleared.

Beware: URL rewriting on the webserver must be configured in consequence.

Install the extension
---------------------

[](#install-the-extension)

```
composer require gaya/typo3-cacheable-resource-url
```

Web server configuration
------------------------

[](#web-server-configuration)

### For Apache server 2.4+

[](#for-apache-server-24)

Open the site's .htaccess, and place this set of rules right after `RewriteEngine On`.

```
    ### BEGIN EXT:cacheable_resource_url ###
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule ^(.*)/cru-\d+/(.*)$ /$1/$2 [E=IS_CRU_URI,L]
	Header add Link "; rel=\"canonical\"" env=REDIRECT_IS_CRU_URI
	### END EXT:cacheable_resource_url ###

```

Note: you may have to adjust the protocol (http instead of https) and maybe to replace `%{HTTP_HOST}s` by your custom canonical domain name.

### For Nginx

[](#for-nginx)

The nginx configuration needs to be separated in two parts:

- the first one in the server block, before the .php location block, for the rewrite rule
- the second one in each of the location blocks that serve resources, for the canonical header

```
    ### BEGIN EXT:cacheable_resource_url ###
    set $add_cru_canonical 0;
    location ~ ^/(.*)/cru-\d+/ {
        set $add_cru_canonical 1;
        rewrite ^/(.*)/cru-\d+/(.*)$ /$1/$2 last;
    }
    ### END EXT:cacheable_resource_url ###

```

```
    location / {
        expires $map_expires;

        ### BEGIN EXT:cacheable_resource_url ###
        if ($add_cru_canonical) {
            add_header Link '; rel="canonical"';
        }
        ### END EXT:cacheable_resource_url ###

        try_files $uri $uri/ /index.php$is_args$args;
    }

```

Note: you may have to adjust the `$scheme` or `$http_host` inside the `Link` depending on your needs.

Important: you must be extremely vigilant with the nginx configuration, because it's common to introduce security issue, like open access to any php file.

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance76

Regular maintenance activity

Popularity1

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 71.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

32

Last Release

131d ago

Major Versions

9.x-dev → 10.0.02026-02-21

10.x-dev → 11.0.02026-02-21

9.0.3 → 13.x-dev2026-02-21

11.0.1 → 13.0.02026-02-21

13.0.0 → 14.0.02026-02-21

### Community

Maintainers

![](https://www.gravatar.com/avatar/a33de94ead4c5170d0bf9bb44fcdf06a26d32426e1a505b00fa80d07ece288c4?d=identicon)[gaya](/maintainers/gaya)

---

Top Contributors

[![dogawaf](https://avatars.githubusercontent.com/u/381969?v=4)](https://github.com/dogawaf "dogawaf (51 commits)")[![b3nkai](https://avatars.githubusercontent.com/u/4747562?v=4)](https://github.com/b3nkai "b3nkai (20 commits)")

---

Tags

cachestatic

### Embed Badge

![Health badge](/badges/gaya-typo3-cacheable-resource-url/health.svg)

```
[![Health](https://phpackages.com/badges/gaya-typo3-cacheable-resource-url/health.svg)](https://phpackages.com/packages/gaya-typo3-cacheable-resource-url)
```

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)[lochmueller/staticfilecache

Transparent static file cache solution using mod\_rewrite and mod\_expires. Increase performance for static pages by a factor of 230!!

1271.4M4](/packages/lochmueller-staticfilecache)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

611.1M8](/packages/netresearch-rte-ckeditor-image)[eliashaeussler/typo3-warming

Warming - Warms up Frontend caches based on an XML sitemap. Cache warmup can be triggered via TYPO3 backend or using a console command. Supports multiple languages and custom crawler implementations.

22260.2k](/packages/eliashaeussler-typo3-warming)[pagemachine/typo3-formlog

Form log for TYPO3

23238.6k8](/packages/pagemachine-typo3-formlog)[typo3/cms-fluid-styled-content

TYPO3 CMS Fluid Styled Content - Fluid templates for TYPO3 content elements.

229.4M388](/packages/typo3-cms-fluid-styled-content)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
