witam wszystkich,

w htaccess mam ustawione:

ExpiresActive On
ExpiresByType application/javascript A604800

Niektóre pliki chcę generować dynamicznie, więc mam dla nich regułkę przepisywania rozszerzenia na php:

RewriteRule ^(.*js/test-php-gen/[^.]+\.)js$ $1php [NC,L]

niestety na moim hostingu nie mogę w htaccess umieścić dyrektywy AddType, więc kombinuję z rewrite.

I teraz u mnie lokalnie (Apache 2.2.6) jest wszystko w porządku, ale po wrzuceniu wszystkiego na serwer nagłówki Cache-control i Expires nie są ustawiane dla pliku php wysyłanego jako js, mimo, że w php dodałem nagłówek Content-type: application/javascript. Dla zwykłych plików js wszystko jest w porządku.

Wygląda to mniej więcej tak:
CODE

GET /js/test1.js HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Accept: */*
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
DNT: 1
Connection: keep-alive

HTTP/1.0 200 OK
Date: Sun, 15 Jan 2012 12:23:11 GMT
Server: INPL 2.1
Vary: Host
Cache-Control: max-age=604800
Expires: Sun, 22 Jan 2012 12:23:11 GMT
Last-Modified: Sun, 15 Jan 2012 11:20:48 GMT
Etag: "7806bd05-164a-4f12b690"
Accept-Ranges: bytes
Content-Length: 5706
Content-Type: application/javascript
Connection: keep-alive


GET /js/test-php-gen/test2.js HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Accept: */*
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
DNT: 1
Connection: keep-alive

HTTP/1.0 200 OK
Date: Sun, 15 Jan 2012 12:23:11 GMT
Server: INPL 2.1
Content-Encoding: gzip
Vary: Host
Content-Type: application/javascript
Connection: close


Plik test1.js to zwykły plik tekstowy z rozszerzeniem .js, natomiast test2.js to test2.php (rewrite przepisuje na test2.js) w kórym zawartość jest gzipowana i ustawiane jest na początku:
  1. header('Content-type: application/javascript');

Bardzo proszę o pomoc, wyjaśnienie co robię źle i jak mogę to naprawić.

pozdrawiam
grzechol

PS. Jestem javowcem, i zupełnym amatorem jeśli chodzi o zagadnienia webowea, więc to co wyczyniam w php, html itp. może być nieprofesjonalne. Jeśli widzicie jakieś rażące błędy, niedociągnięcia lub pogwałcenie dobrych praktyk w moich postach, chętnie przyjmę wszelkie uwagi.