Mod_expires nie chce działać w połączeniu z mod_rewrite

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:

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:

header('Content-type: application/javascript');

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

pozdrawiam

budda86

PS. Jestem javowcem, i zupełnym amatorem jeśli chodzi o zagadnienia webowe, 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.