Re: Apache and php to show http request headers. [message #178506 is a reply to message #178502] |
Mon, 25 June 2012 18:00 |
The Natural Philosoph
Messages: 993 Registered: September 2010
Karma:
|
Senior Member |
|
|
Daniel Pitts wrote:
> On 6/25/12 10:17 AM, M. Strobel wrote:
>> Am 25.06.2012 18:48, schrieb Jerry Stuckle:
>>> On 6/25/2012 12:10 PM, M. Strobel wrote:
>>>> Am 25.06.2012 16:44, schrieb Jerry Stuckle:
>>>> > On 6/25/2012 10:42 AM, Tony Mountifield wrote:
>>>> >> In article <js9pqt$1lm$1(at)dont-email(dot)me>,
>>>> >> Jerry Stuckle <jstucklex(at)attglobal(dot)net> wrote:
>>>> >>> On 6/25/2012 9:36 AM, Tony Mountifield wrote:
>>>> >>>> In article <klslb9-ogk(dot)ln1(at)luuk(dot)invalid(dot)lan>, Luuk
>>>> >>>> <luuk(at)invalid(dot)lan> wrote:
>>>> >>>>> On 25-06-2012 12:15, brumik wrote:
>>>> >>>>>>
>>>> >>>>>> I need to test various http requests from an application and
>>>> >>>>>> am using
>>>> >>>>>> Apache/PHP on ubuntu to display the http request headers. The
>>>> >>>>>> application proxy forwards http requests to the apache
>>>> >>>>>> server's IP
>>>> >>>>>> address like as follows:
>>>> >>>>>>
>>>> >>>>>> 192.168.40.1/test/test.html
>>>> >>>>>>
>>>> >>>>>> where 192.168.40.1 is the apache server.
>>>> >>>>>>
>>>> >>>>>> I have a php script to dump the headers as follows:
>>>> >>>>>>
>>>> >>>>>> <?php
>>>> >>>>>> foreach($_SERVER as $h=>$v)
>>>> >>>>>> #if(ereg('HTTP_(.+)',$h,$hp))
>>>> >>>>>> echo "<li>$h = $v</li>\n";
>>>> >>>>>> header('Content-type: text/html');
>>>> >>>>>> ?>
>>>> >>>>>>
>>>> >>>>>> The problem is that to show the headers, I redirect
>>>> >>>>>> 192.168.40.1/* to
>>>> >>>>>> the above index.php page using the following redirect:
>>>> >>>>>>
>>>> >>>>>> Options +FollowSymlinks
>>>> >>>>>> RewriteEngine on
>>>> >>>>>> RewriteCond %{REQUEST_URI} !/index.php$
>>>> >>>>>>
>>>> >>>>>> RewriteRule $ /index.php [R=302,L]
>>>> >>>>>>
>>>> >>>>>> However the php request headers page always shows the URI as /
>>>> >>>>>> index.php as opposed to the 'original' URI requested (/test/
>>>> >>>>>> test.html).
>>>> >>>>>>
>>>> >>>>>> How can I get it to show the 'original' URI requested? is this
>>>> >>>>>> something that can be done in PHP or is it apache specific?
>>>> >>>>>>
>>>> >>>>>
>>>> >>>>> Its apache, because it is redirecting, so PHP does only know
>>>> >>>>> about the
>>>> >>>>> redirected request, and does have no knowledge of how this request
>>>> >>>>> reached PHP.
>>>> >>>>
>>>> >>>> You could try the Proxy flag in the RewriteRule:
>>>> >>>>
>>>> >>>> RewriteRule $ http://localhost/index.php [P,L]
>>>> >>>
>>>> >>> He can try a lot of things which won't work.
>>>> >>
>>>> >> Well, yes, but I didn't think my suggestion was one of them. If you
>>>> >> think it is, I would like to know why, so that I would know for the
>>>> >> future, rather than just be the target of a bit of sarcasm. You could
>>>> >> try something like "That won't work because...." (if applicable).
>>>> >>
>>>> >> The OP's original rule obviously wouldn't work, because it tells the
>>>> >> client browser to generate a completely fresh request with the new
>>>> >> location. In contrast, the Proxy flag in RewriteRule is supposed to
>>>> >> make Apache proxy the original request to the new location (even to
>>>> >> itself if necessary). So the request's original headers should still
>>>> >> be present, with perhaps one or more proxy headers.
>>>> >>
>>>> >> Cheers
>>>> >> Tony
>>>> >>
>>>> >
>>>> > It's off topic in this newsgroup. If you want to know why, try an
>>>> > appropriate
>>>> > newsgroup.
>>>> >
>>>>
>>>> Truth is never off topic.
>>>>
>>>> /Str.
>>>>
>>>
>>> Only in your small mind. This is a PHP group - hence the "PHP" in
>>> its name. There
>>> are other groups where experts in that area hang out.
>>>
>>> And your comment shows why there are so many crappy answers to
>>> off-topic questions in
>>> this newsgroup.
>>>
>> Ah, small mind. What could PHP do without Apache servers?
> Quite a bit. Apache isn't a requirement for PHP by any means.
>
>
No but then neither is a road for a car, nevertheless I wouldn't
normally consider using a car off road ...
The clue of course is in the name
"While PHP originally stood for "Personal Home Page", it is now said to
stand for "PHP: Hypertext Preprocessor"." (wiki)
Frankly I have always felt Produces HHML Pages was nearer the mark.
--
To people who know nothing, anything is possible.
To people who know too much, it is a sad fact
that they know how little is really possible -
and how hard it is to achieve it.
|
|
|