Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin:caching

Server Caching deaktivieren

FH-Complete unterstützt versionierte JavaScript-URLs, um Browser-Caching nach Deployments zu umgehen. Dadurch lädt der Browser nach einem Deployment automatisch neue JS-Dateien statt veraltete Dateien aus dem Cache zu verwenden. Dazu gibt es die in der Datei /var/www/application/config/javascript.php die Option:

$config['use_fhcomplete_build_version_in_path'] = true;

Beispiel: /public/js/components/foo.js wird automatisch zu /public/2026030501/js/components/foo.js die Build-Version (2026030501) stammt aus: /var/www/application/config/config.php - $config['fhcomplete_build_version']

Apache Rewrite Damit die versionierten URLs funktionieren, muss Apache die Build-Version intern wieder auf den echten Dateipfad auflösen. Eine entsprechende Rewrite Regel muss der Apache VHosts Konfiguration hinzugefügt werden. Alternativ kann dies auch über die .htaccess Datei in /var/www/public/ erfolgen (.htaccess_sample)

<Directory /var/www/public>
      Options -Indexes +FollowSymLinks
      AllowOverride None
      Require all granted

      RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^[0-9]{10}/(.*)$ $1 [L]

    RewriteCond %{REQUEST_URI} ^(.*?)/public/index.ci.php/
    RewriteRule ^index.ci.php/(.*)$ %1/index.ci.php/$1 [R=303,L]  
</Directory>

Beispiel intern: /public/2026030501/js/foo.js wird zu /public/js/foo.js Die URL im Browser bleibt dabei unverändert.

Wichtig bei JavaScript Imports Imports dürfen nicht aus dem public-Pfad heraus und anschließend wieder nach public hinein navigieren.

Problematisch: import Foo from '../../../../../../public/js/foo.js'; Dies kann bei aktivem URL-Rewrite zu fehlerhaften URLs wie: /public/public/js/foo.js führen. Stattdessen sollten absolute oder saubere relative Imports verwendet werden:

import Foo from '/public/js/foo.js'; Dadurch bleiben die Imports unabhängig von der Build-Version stabil.

/var/www/wiki/data/pages/admin/caching.txt · Zuletzt geändert: 2026/05/22 12:49 von oesi