Page 1 of 1

Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 10:54
by xamibor
Hi,

wie würdet Ihr es machen wenn mann wissen will was der User in seinem Browser in die adresszeile eingegeben hat?

z.B. Domain "www.lupo.de" existiert .... das Verzeichniss "/Z1" giebt es nicht ...

Also der Bnutzer gibt http://www-lupo.de/Z1 ein ....

nun will ich ihn nicht an einer standard 404 Fehlerseite schicken sondern aus der DB eine Vergleichswert $host (http://www-lupo.de/Z1) und den dazugehörigen Link z.B. http://www-lupo.de/lupo.php?id=124142 ... weiterleiten.

Wie würde dazu die PHP Variable heißen ... giebt es überhaupt eine und wenn nicht kann mann es anders lösen ... ist dringen :-)

Gruß
Andreas

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 11:24
by Joe User
Mal abgesehen davon, dass soetwas IMO sinnfrei ist:
Das ist per Scripting nicht möglich, aber mit mod_rewrite sollte sich etwas basteln lassen...

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 11:31
by xamibor
habe nur ein Problem keine ahnung wie mann das macht ... mod_rewrite .

der Grundgedanke: Wir haben Print Material wo man keine Ellenlange URL reinschreiben kann sondern max. domain + verzeichniss....

es würde höchstens gehen das mann per script (dynamisch) die Verzeichnisse real erstellt eine index.hml mit der Weiterleitung ...

Ist das nicht aber auch eine Sicherheistfrage ein Verzeichniss zu haben was auf 777 steht?

Ich benötige eine einfache und schnelle Lösung :-(

Gruß
Andreas

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 11:33
by boozedǃ
Deinen Einwand mit den Dateirechten kann ich nicht nachvollziehen. Verwechselst du da was?

http://httpd.apache.org/docs/misc/rewriteguide.html

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 11:36
by alexander newald
Ich habe die Anforderung noch nicht ganz verstanden...

Webseite mit http://www.domain.de/Archiv5 soll auf http://www.was.ganz.de/langes/was/sich/ ... ken/kann/5 weitergeleitet werden?

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 12:02
by xamibor
@Alexander Newald

genau ....
Nur das verzeichnis: Archiv5 gibt es nicht ist eine art Fake ...
wollte diese "Abfrage" der eingabe auf meiner index.php im Root Verzeichniss machen.

Die IDee ist es so eine art Dynamische .htaccess zu machen

@boozed!
Deinen Einwand mit den Dateirechten kann ich nicht nachvollziehen. Verwechselst du da was?
kann gut sein bin neu und habe es mit den rechten immernoch nicht so drauf. Habe immer nur den Satz vom admin im Kopf "vermeide Verzeichnisse mit 777 Recht"

Gruß
Andreas

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 12:11
by flo
Also ich bin von mod_rewrite für solchen Kleinkram wieder abgekommen, die Variablen, die Du brauchst, sind IMHO $http_host und $request_uri in PHP, genaueres, wenn ich dazukomme, das rauszusuchen.

Alternative:
Linke die 404-Seite auf eine Datei, in der nur ein phpinfo-Befehl steht, alles weitere ist dann Deiner Suchfähigkeit überlassen.

Grüße,

flo.

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 12:15
by xamibor
Danke bin soeben auch drüber gestolpert per Googel als ich nach mod_rewrite Doku in Deutsch geuscht habe :-)

Code: Select all

$domainpfad3 = $SERVER_NAME.$REQUEST_URI;
echo  $domainpfad3;
Supie Danke.

Andreas

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 12:36
by dodolin

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 14:02
by xamibor
wer sich zu frü freut ....

das problem ist, dass die servervariable _SERVER["SCRIPT_URI"] nach der weiterleitung zur fehlermeldungsseite nicht mehr die eingegebene uri als inhalt hat, sondern die uri der fehlermeldungsseite. mir fällt im moment leider nichts ein, wie das einfach zu realisieren wäre.


lg
Andreas

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 14:08
by xamibor
@flo
Linke die 404-Seite auf eine Datei, in der nur ein phpinfo-Befehl steht, alles weitere ist dann Deiner Suchfähigkeit überlassen.

nun das Problem ist das Die URI nicht mitgegeben wird ....

lg
Andreas

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 14:15
by flo
Das kann so nicht sein, irgendetwas werte ich doch aus:

htaccess:

Code: Select all

ErrorDocument  404 /index.php
in der index.php werden benutzt:
$HTTP_HOST
$REQUEST_URI

Vorsicht, die script-Variable bezieht sich IMHO wirklich auf das physikalische Script, das ausgeführt wird.

Ach ja, das geht so, das weiß ich ... und ich würde es beschwören. ;-)

flo.
[/code]

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 14:59
by xamibor
@flo

ok ... hierder Link zu meiner "Problemm" Webseite:

http://www.christ-online.de

Gebe ich nun:

http://www.christ-online.de/Freizeiten

ein soll er automatisch an folgende URI weiterleiten:

http://www.christ-online.de/modules.php?name=Freizeiten

Die Webseite ist ein Nuke System ... im Nuke System habe ich ein Modul eingebaut was allgemein Fehler abfänggt per .htaccess etc.

Auf der Index.php des Nuke steht ganz am anfang folgender Code:

Code: Select all

$request_url = $SERVER_NAME.$REQUEST_URI;
Da bekomme ich folgendes raus:
http://www.christ-online.de/Freizeiten

die htacces leitet 404 Fehler an folgende Datei weiter:
ErrorDocument 404 http://www.christ-online.de/modules.php ... c=error404

Innerhalb dieser Datei habe ich dann eine function zu 404 mit folgendem Inhalt:

Code: Select all

function error404() {
global $prefix, $dbi, $user, $module_name, $sql_uri;
include("header.php");

// HOST URL Abfrage
// $request_url = $SERVER_NAME.$REQUEST_URI;
//echo  $request_url;
$sql_uri = "select * from ".$prefix."_dis_host WHERE host='$request_url' AND aktiv='ja'";
echo  $sql_uri;
$res_uri =  sql_query($sql_uri, $dbi);
list($disid, $dishost, $disurl, $disaktiv) = sql_fetch_row($res_uri, $dbi);
echo "DisID:$disid";
//////


OpenTable();

$result = sql_query("select dis_er_404, dis_er_404_tit from ".$prefix."_dis_er", $dbi);
list($dis_er_404, $dis_er_404_tit) = sql_fetch_row($result, $dbi);
{

    echo "<BR><BR><center><b><font size="5">$dis_er_404_tit</font></b></center><BR><br><br>$dis_er_404</font><br><BR><BR><center>[&nbsp;&nbsp;<a href="javascript:history.back(1)">zurück</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href="modules.php?name=4nSuche">Suche</a>&nbsp;&nbsp;]</center>";
    phpinfo();
    }

CloseTable();

include("footer.php");

}
das Problem ist das die URI die per

Code: Select all

$request_url = $SERVER_NAME.$REQUEST_URI;
ermittelt wird nicht weitergegeben wird ....

Zu beachten ist das das Verzeichniss /Freizeiten gar nicht gibt !!!

Gruß
Andreas

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 15:16
by dodolin
Hast du meinen zuvor geposteten Link denn überhaupt mal angeschaut?!

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 15:20
by xamibor
Ja bin noch nicht dazu gekommen es mit verstand zu lesen ...

werde es aber jetzt machen

LG
Andreas

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 15:27
by flo
Ich glaube, ich weiß, was dodolin meint ...

Wir vergleichen:

Code: Select all

ErrorDocument 404 http://www.christ-online.de/modules.php?name=DisError&file=index&func=error404     
mit

Code: Select all

ErrorDocument 404 /index.php
Und nehmen dazu den Satz:

Code: Select all

At least REDIRECT_URL and REDIRECT_QUERY_STRING will be passed to the new URL (assuming it's a cgi-script or a cgi-include). The other variables will exist only if they existed prior to the error/problem. None of these will be set if your ErrorDocument is an external redirect (i.e., anything starting with a scheme name like http:, even if it refers to the same host as the server).
flo.

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 15:36
by xamibor
Nun ich nehme mal an das du folgenden Passu meinst:
REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, image/jpeg
REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 9000/712)
REDIRECT_PATH=.:/bin:/usr/local/bin:/etc
REDIRECT_QUERY_STRING=
REDIRECT_REMOTE_ADDR=121.345.78.123
REDIRECT_REMOTE_HOST=ooh.ahhh.com
REDIRECT_SERVER_NAME=crash.bang.edu
REDIRECT_SERVER_PORT=80
REDIRECT_SERVER_SOFTWARE=Apache/0.8.15
REDIRECT_URL=/cgi-bin/buggy.pl
wobei du folgende Variable meinst:

REDIRECT_SERVER_NAME

oder?

Bitte entschuldigt bin aber unwissend ... weiß nicht so recht wie ich diese Variablen mit PHP ansprechen kann

Gruß
Andreas

Re: Browser Adressen eingabe "lesen" ???

Posted: 2003-12-23 15:40
by xamibor
habe es mal geändert:

Code: Select all

ErrorDocument 404 http://www.christ-online.de/modules.php?name=DisError&file=index&func=error404  
das http://www.christ-online.de weggenommen ...

nur weiß ich immoment nicht weiter mir fehlt das hintergrundwissen um die zusammenhänge zu verstehen :(

lg
Andreas