Hi,

i've tested Apache Content Negotiation with a PHP Content Managment
System. Apache works correctly, but doesn't tell PHP what it has done.

Example:

I have a directory with two files:
  - test.de.htm
  - test.en.htm

As Apache is configured for Content Negotiation I can enter "test" in my
browser window and get the best suiting page, in my case the
test.de.htm.

But before I see the htm page, it is parsed by the CMS, using Apache
Action
   AddType application/x-httpd-parse .htm
   Action application/x-httpd-parse "/parser/parser.php?file="

Well, now the problem:

As I make a HTTP request for "test", Apache negotiates for
"test.de.htm", starts the parser.php as ActionHandler for this .htm
file. But PHP doesn't know about the new requested document as there is
nothing changed in the original request. Apache writes a *RESPONSE*
header (Content-Location: test.de.htm), but PHP does know the Apache
response headers only after all PHP generated headers are sent. When I
call apache_response_headers() at the beginning of my script, it show's
nothing from Apache, if I run it after all my header() calls are done
and i've sent the first content data, I can see the Apache Response
headers, especially "Content-Location:".

So I see no way to know about Content Negotiation of Apache before all
PHP headers are sent. *But I do need this*
Why can't PHP just show all the Apache Response headers immediately ???

This is very important and I think also for many people who have dealt
with PHP and Apache Content Negotiation. Please help!

Hopefully

Wolfgang Ulmer

P.S: Please answer also to [EMAIL PROTECTED] as I don't read this
newsgroup regularly. Thanks.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to