Generate cache-busting URLs, manifests, and deployment scripts.

Input URLs

Enter one URL per line (e.g., app.js, /css/styles.css)

Generated URLs

No URLs generated yet.

Server Configs & Scripts

Apache (.htaccess)
# Cache busting via query string or filename
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.+)\.(\w+)\.(js|css|png|jpg|gif)$ $1.$3 [L]
</IfModule>

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 year"
</IfModule>
NGINX Config
# Filename cache busting
location ~* (.+)\.(?:\w+)\.(js|css|png|jpg|jpeg|gif)$ {
    try_files $uri $1.$2;
    expires 1y;
    add_header Cache-Control "public, max-age=31536000, immutable";
}
vercel.json
{
  "headers": [
    {
      "source": "/(.*)\\.(?:js|css|png|jpg|jpeg|gif|svg)$",
      "headers": [
        {
          "key": "Cache-Control",
          "value": "public, max-age=31536000, immutable"
        }
      ]
    }
  ]
}
Service Worker Manifest
const CACHE_NAME = 'app-cache-v1';
const urlsToCache = [
  '/'
]; // Generate URLs first
CDN Purge Commands
# Cloudflare API Purge
curl -X POST "https://api.cloudflare.com/client/v4/zones/YOUR_ZONE_ID/purge_cache" \
     -H "Authorization: Bearer YOUR_API_TOKEN" \
     -H "Content-Type: application/json" \
     --data '{"files":["https://example.com/app.js"]}'

# AWS CloudFront Invalidation
aws cloudfront create-invalidation --distribution-id YOUR_DIST_ID --paths "/*"

Generated HTTP Headers

No headers generated.