I have a problem with expires headers in javascript files generated by PHP.
There are two types of javascript files on the website. One part is static javascript files, and one part is dynamically generated by PHP.
conf without header expiration
Here the expires headers are added to the .js files (all files are returned by HTTP 200 )
location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { include /var/ini/nginx/fastcgi.conf; fastcgi_pass php; fastcgi_param SCRIPT_FILENAME /var/www/index.php; }
conf expiration headers
When adding locations for .js files then all dynamically generated files return HTTP 404
location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { include /var/ini/nginx/fastcgi.conf; fastcgi_pass php; fastcgi_param SCRIPT_FILENAME /var/www/dyndev.dk/public/secure/index.php; } location ~ \.(js|css)$ { expires 1y; add_header Cache-Control "public"; }
How to handle both static and dynamically generated .js files with expires headers?
All javascript dynamic propagation files are called *-php.js
File structure
/var/www/public/index.php
PHP routing
www.example.com/ -> index.php www.example.com/js -> static content www.example.com/js/dynamically_generated-php.js -> js-dynamically_generated.php
javascript php nginx expires-header
clarkk
source share