====== 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)       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]   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.