phpbar.de logo

Mailinglisten-Archive

[php] [OT] Apache 1.3 PATH_INFO

[php] [OT] Apache 1.3 PATH_INFO

mhe mhe at ltcgroup.de
Don Okt 16 15:31:21 CEST 2003


>Wie gesagt, die Idee kam mir auch schon. Allerdings basieren alle Beispiele,
>die ich bisher gelesen habe auf 2 Bedingungen, die bei mir beide nicht
>zutreffen:
>
>1. Es ist bekannt wie viele Parameter erwartet werden.
>2. Die Reihenfolge ist mir bekannt.
>
>Im Endeffekt will ich ein mapping haben das folgendes veranstalltet:
>
>http://foo.de/index.php?para1=a&para2=b&para3=c&...
>
>http://foo.de/index.php/para1,a/para2,b/para3,c/...
>
>Das muss doch hinzubekommen sein, oder?

das ist auch richtig,

mit aliasmatch bekommst du aber kein direktes "mapping",
du musst dein script noch anpassen,

z.bsp.

der request geht auf

	http://127.0.0.1/brabbel/blubber1/blubber2/blubber3

gibst du in httpd.conf ein

    AliasMatch ^/brabbel(.*) "d:/dev/default/brabbel.php"

==============brabbel.php==========
<?php
print_r($_SERVER);
?>
===================================

und das ganze spuckt dann folgendes aus
(bei mir lokal, windows, linux saehe anders aus)

===================================
Array
(
    [COMSPEC] => C:\\WINDOWS\\system32\\cmd.exe
    [DOCUMENT_ROOT] => d:/dev/default
    [HTTP_ACCEPT] => image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
    [HTTP_ACCEPT_ENCODING] => gzip, deflate
    [HTTP_ACCEPT_LANGUAGE] => de
    [HTTP_CONNECTION] => Keep-Alive
    [HTTP_HOST] => 127.0.0.1
    [HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2; .NET CLR 1.0.3705)
    [PATH] => d:\\dev\\watcom\\BINNT;d:\\dev\\watcom\\BINW;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\Programme\\Perforce;D:\\dev\\php\\php;D:\\dev\\php4\\php;C:\\Programme\\Microsoft SQL Server\\80\\Tools\\Binn\\;C:\\Programme\\ATI Technologies\\ATI Control Panel
    [REMOTE_ADDR] => 127.0.0.1
    [REMOTE_PORT] => 3832
    [SCRIPT_FILENAME] => d:/dev/default/brabbel.php
    [SERVER_ADDR] => 127.0.0.1
    [SERVER_ADMIN] => admin at DISTILLERY.LAN
    [SERVER_NAME] => evosonic
    [SERVER_PORT] => 80
    [SERVER_SIGNATURE] => Apache/1.3.27 Server at evosonic Port 80

    [SERVER_SOFTWARE] => Apache/1.3.27 (Win32) PHP/4.3.2
    [SystemRoot] => C:\\WINDOWS
    [WINDIR] => C:\\WINDOWS
    [GATEWAY_INTERFACE] => CGI/1.1
    [SERVER_PROTOCOL] => HTTP/1.1
    [REQUEST_METHOD] => GET
    [QUERY_STRING] => 
    [REQUEST_URI] => /brabbel/blubber1/blubber2/blubber3
    [SCRIPT_NAME] => /brabbel/blubber1/blubber2/blubber3
    [PATH_TRANSLATED] => d:/dev/default/brabbel.php
    [PHP_SELF] => /brabbel/blubber1/blubber2/blubber3
    [argv] => Array
        (
        )

    [argc] => 0
)

===================================

so, dann lunzt man mal in REQUEST_URI und kann dies aufparsen
mit explode or whatever ..

damit kannst du dann deine parameter ermitteln ..

ciao
 Mathias



php::bar PHP Wiki   -   Listenarchive