Hi!
- mit RequestHeader aus mod_headers kann man an diesem Änderungen vornehmen, nicht aber an der angeforderten URL.
Kommt darauf an, ob man die Sache "early" oder "late" abläuft.
early und late hab ich weggelassen, da early keine Option für den Dauerbetrieb sein sollte. Um early nutzen zu können, müsstest du außerdem in die Grundkonfiguration eingreifen, was du vermutlich nicht willst. In der .htaccess ist es für early schon zu spät.
- Die Response ist nun fertig zum Ausliefern, kann aber noch mit Header aus mod_headers beeinflusst werden.
Von php bereits bestehende Header:
Content-Type: text/html
Header set Content-Type "text/css"
Header set Whatever "foobar"neuer Header:
Content-Type: text/html
Whatever: foobarErwartet:
Content-Type: text/css
Whatever: foobar
Genau das passiert bei mir (Apache 2.2.14, in der .htaccess gesetzt und mit expliziten Handlern für PHP (spielt hier sicher keine Rolle)).
Lt. Doku sollte mod_headers (sofern nicht das early-Schlüsselwort genutzt wird) auch requests manipulieren: set sollte bestehende Header überschreiben (ansonsten hinzufügen), add nur hinzufügen.
early will ja keiner und du meinst response statt request.
Notiere ich
Header add Content-Type "text/css"Sollte eigentlich folgendes dabei rauskommen:
Content-Type: text/html
Content-Type: text/cssRauskommen tut aber nachwievor:
Content-Type: text/html
Was verstehe ich da falsch.
Das will bei mir auch nicht. Vermutlich aus gutem Grund. Aber
Header set X-Foo bar
Header add X-Foo baz
führt zwar nicht zu
X-Foo: bar
X-Foo: baz
aber immerhin zu
X-Foo: bar, baz
was eigentlich einem append entspricht. Bei 2x set überschreibt es den ersten.
Lo!