PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : htaccess


Arno Nym
22.03.2002, 16:04:45
also, ich versuch ein weiterleitungsscript zu proggen, dabei soll man zb auf abi05.info/xyz zugreifen, was garnicht existiert. per htaccess wird man nun auf eine php file geleitet, die nun ausliest, wo der user her kam, also "/xyz" wie is dieses auslesen möglich? ich habe noch keine funktion dazu gefunden!

Matthias
23.03.2002, 16:13:43
Das kannst du über Server Variablen abfragen.

Schau dir das (http://www.selfphp.info/funktionsreferenz/kontroll_mechanismen/vordefinierte_variablen.php) mal an.

$HTTP_REFERER <---- diese Variable benötigst du.

Matthias

Arno Nym
25.03.2002, 11:34:50
das hatte ich schon versucht, hat aber leider nicht geklappt, es funzt aber mit $REQUEST_URL

Nev
25.03.2002, 12:47:35
Hi @ll

du mußt die htaccess-Datei in den Root legen.

der Inhalt schau so aus:

ErrorDocument 401 /usr/home2/nevhilft/error.php4?error=401
ErrorDocument 403 /usr/home2/nevhilft/error.php4?error=403
ErrorDocument 404 /usr/home2/nevhilft/error.php4?error=404
ErrorDocument 500 /usr/home2/nevhilft/error.php4?error=500


Wobei der Pfad natürlich angepasst werden muss.


Dann machst du eine PHP-Datei, in meinen Fall eine error.php4

und schreibst das rein:

<?
// Config
$title = "Nev-hilft.de"; // Titel deiner Page
$admin_mail = "an@nev-hilft.de"; // Admin -Email
$admin_name = "Master"; // Admin -Name
$sender_name = "ERROR auf Nev-hilft"; // Titel des Mails
// Ende Config

$location=getenv("REDIRECT_URL");
$host=getenv("HTTP_HOST");
$remote=getenv("REMOTE_HOST");
$referer=getenv("HTTP_REFERER");

switch ($error)
{
case 401:
$msg = "Zugang verweigert";
break;

case 403:
$msg = "Zugang verweigert";
break;

case 404:
$msg = "Datei nicht gefunden";
break;

case 500:
$msg = "Script ERROR";
break;

default:
$msg = "Umbekannter Fehler";
break;
}
?>
<HTML>
<HEAD>
<TITLE>
<? echo $msg; ?>
</TITLE>
</HEAD>
<BODY>
<H1><? echo $msg; ?></H1><BR>
<A HREF="javascript:history.back();">Zurück</A><BR>
</BODY>
</HTML>
<?
mail("$admin_name <$admin_mail>",$sender_name,"Report:
Error: $msg
Location: $location
Visitor: $remote
Referer: $referer", "From: $sender_name <$admin_mail>
Content-type: text/plain
X-Mailer: PHP/" . phpversion());
?>


Ich hoffe ich konnte weiterhelfen!!

Bei Fragen meldet euch einfach, per Mail wäre es mir lieber

bombel
29.03.2002, 13:38:08
Original geschrieben von Arno Nym
das hatte ich schon versucht, hat aber leider nicht geklappt, es funzt aber mit $REQUEST_URL

mich würde interessieren, ob Du $HTTP_REFERER auch wirklich groß geschrieben hast. Ich benutze die Funktion für einige meiner Scripts, die ich auch weitergeben möchte, und es wäre dramatisch, wenn das dann nicht überall geht.

Grüße, Uwe

|Coding
14.04.2002, 17:16:51
hi,

ja also ich hab mich auch schon seit ner weile mit .htaccess beschäftigt. allerdings kalppt das bei mir nicht so richtig. ich glaube ich vergebe die falschen zugriffsrechte an die .htacces datei. immer wenn ich die rechte auf 644 setze dann funzt das nicht, dann habe ich mal gelesen das .htaccess dateien keine rechte bekommten (was irgendwie schwachsinn ist). allerdings wenn ich die rechte auf 444 dann ist auch nix mit der funktion. also kann mir da jemand helfen ?


thx schon mal

stoned
15.04.2002, 12:05:13
hallo bombel,


ich habe auch schon mit $HTTP_REFERER gearbeitet. ich wollte damit sichergehen, dass er bei bestimmten seitenaufrufen von einer bestimmten domain kommt. es kam aber ab und zu vor (vor allem netscape, aber auch explorer), dass es keinen referer gab, den man auslesen konnte. und das obwohl es einen geben müsste ... - ich habs dann wieder rausgenommen und suche bis heute noch nach solch einer möglichkeit :((



greetz

stoned

Nev
15.04.2002, 12:36:03
@|Coding

htaccess-Dateien brauchen keinen besonderen Rechte, dies besten sind aber 666.
es kann sein, das dein Anbieter nur in bestimmten Verzeichnissen htaccess-Dateien zulässt (Bytecamp.net macht das zum Beispiel).

es kann auch sein das du dashtaccess falsch geschrieben hast.
poste es einmal.

@stoned
man kann in mehreren Browser den HTTP_REFERER ausschalten.
generell könntest du es nur mit einer Session probieren.
diese müstest du schon vorher starten.

wenn keine Variablen in der Session vorhanden sind, kommt er automatisch auf eine andere Seite, ansonsten bleibt er dort wo er ist.

Probiers mal!!

Wenns Probleme gibt poste einfach wieder

|Coding
15.04.2002, 13:46:05
ja also das ist mein .htaccess file mit den rechten 666

ErrorDocument 401 "Fehler: Der Zugriff wurde verweigert.
ErrorDocument 403 "Fehler: Der Zugriff wurde verweigert.
ErrorDocument 404 "Fehler: Die angeforderte Datei konnte nicht gefunden werden.
ErrorDocument 500 "Fehler: Interner Server Fehler.

und das klappt nicht so wie ich es will :(

Nev
15.04.2002, 14:13:49
@ |Coding

Wenn wir jetzt noch beim Thema bleiben, willst du ein Error-Handler, oder??

dazu schaut dein htaccess etwas anders aus.


ErrorDocument 401 /usr/home2/nevhilft/error.php4?error=401
ErrorDocument 403 /usr/home2/nevhilft/error.php4?error=403
ErrorDocument 404 /usr/home2/nevhilft/error.php4?error=404
ErrorDocument 500 /usr/home2/nevhilft/error.php4?error=500


du mußt für jeden Fehler einen Eintrag machen.
dieser Eintrag zeigt auf eine bestimmte Datei
der Pfad muß absolute angegeben sein.

Schaue etwas weiter oben auf mein Post.
dort wird das ganze beschrieben.

Bei fragen einfach posten

|Coding
15.04.2002, 14:44:49
jo ich will nen error-handle. ich hab das jetzt mal mit deiner htaccess und error datei ausprobiert... aber es gayt immer noch nicht :( scheinbar erlaubt mein provider keine error-handle...

Nev
15.04.2002, 15:36:59
@ |Coding

Habe leider das selbe Problem

Das sollte generell in den FAQ von deinem Anbeiter stehen.

Du kannst nur fragen, ob er htaccess-Dateien bzw. wo er sie zulässt.

Eine andere Möglichkeit, gibt es leider nicht um ein Error-Handler zu realisieren.

|Coding
15.04.2002, 16:06:42
jo ich hab schon ne mail an den provider geschickt, aber die sind ja immer so schnell :-)....

bei welchem provider bist du den wenn ich fragen darf ?

Nev
15.04.2002, 16:49:31
@ |Coding

Bytecamp
der läst leider nur in bestimmten Ordnern htaccess-Dateien zu
um die geschwindigkeit zu halten!