.htaccess-Redirect Problem
Jose
- webserver
Hallo.
Ich möchte beim Aufruf von http://.../verzeichnis direkt auf die Datei irgendwas.php in /verzeichnis weiterleiten.
http://de.selfhtml.org/navigation/faq.htm#automatische_weiterleitung sagt mir, ich muss dafür "Redirect / http://.../verzeichnis/irgendwas.php" in die .htaccess schreiben. Soweit geht das.
Ich möchte aber auf "irgendwas.php?id=x" weiterleiten. Das geht dann nicht mehr.
Was könnte ich tun? Woran könnte es liegen? (Ich wollte auf eine meta-Angabe in einer Extradatei "index.html" verzichten.)
Vielen Dank für Anregungen,
Jose
Vielleicht eine umständliche Lösung ... aber sie sollte funktionieren ...
eine NEUE datei schreiben (z.b. index.htm)
und in den <body>-tag ein onLoad="" einbauen und zusätzlich ein javaSkript definieren ...
<script>
function reLoad(){ top.mainFrame.location.href="xyz.php?id=45"; }
</script>
<body onLoad=reLoad()>
</body>
P.S. top.mainFrame.location.href="xyz.php?id=45";
MUSST DU NATÜRLICH NOCH ANPASSEN!
Hannes
eine NEUE datei schreiben (z.b. index.htm)
dann könnte ich ja auch eine meta-weiterleitung in einer index.html einbauen. ich würde aber gern auf die extradatei verzichten...
trotzdem vielen dank,
jose
hi,
Ich möchte beim Aufruf von http://.../verzeichnis direkt auf die Datei irgendwas.php in /verzeichnis weiterleiten.
nur bei anfoederung von verzeichnis/ bzw. /verzeichnis/, oder auch bei /verzeichnis/andere_seite.html?
wenn ersteres der fall ist, solltest du einfach den DirectoryIndex entsprechend definieren.
gruß,
wahsaga
hallo wahsaga.
nur bei anfoederung von verzeichnis/ bzw. /verzeichnis/, oder auch bei /verzeichnis/andere_seite.html?
wenn ersteres der fall ist, solltest du einfach den DirectoryIndex entsprechend definieren.
.../verzeichnis/ gibt der benutzer ein und soll bei .../verzeichnis/abc.php?id=x landen. also ersteres. directoryindex klappt aber auch nicht, ich denke mal es liegt an dem teil ?id=x der aber unbedingt übergeben werden muss.
grüße!
Hallo Jose,
.../verzeichnis/ gibt der benutzer ein und soll bei .../verzeichnis/abc.php?id=x landen. also ersteres. directoryindex klappt aber auch nicht, ich denke mal es liegt an dem teil ?id=x der aber unbedingt übergeben werden muss.
irgentwie werde ich aus dem Ganzen nicht schlau. Daher fasse ich es mal so zusammen, wie weit ich noch mitkomme:
Der User kennt also "/verzeichnis" und ruft es nicht über einen Link auf, sondern nach Deinen Erwartungen wird er es von Hand im Browser eingeben. Das "/verzeichnis" hat aber keine index.php sondern eine "abc.php".
Soweit ist das alles verständlich. Aber bitte woher soll die "abc.php" jetzt den Wert id herbeziehen? Soll er variabel zugewiesen werden?
Ist es ein statischer Grundwert? (In beiden Fällen sehe ich keinen Grund, warum "abc.php" nicht index.php heißen kann und Du auf Teufel-komm-raus einen Querystring dafür brauchst.)
Vielleicht wäre es hilfreich, wenn Du etwas genauer beschreiben würdest, was Du vor hast.
Gruß aus Berlin!
eddi
Hi eddi.
Der User kennt also "/verzeichnis" und ruft es nicht über einen Link auf, sondern nach Deinen Erwartungen wird er es von Hand im Browser eingeben. Das "/verzeichnis" hat aber keine index.php sondern eine "abc.php".
Ums einfacher zu machen: Ja.
Soweit ist das alles verständlich. Aber bitte woher soll die "abc.php" jetzt den Wert id herbeziehen? Soll er variabel zugewiesen werden?
Ja.
Ist es ein statischer Grundwert? (In beiden Fällen sehe ich keinen Grund, warum "abc.php" nicht index.php heißen kann und Du auf Teufel-komm-raus einen Querystring dafür brauchst.)
abc.php kann meinetwegen auch index.php heißen, das ändert aber nix. In der PHP steht die HTML-Hülle aller Seiten und der Inhalt wird per PHP mit "echo" aus einer Datenbank eingefügt. Der Inhalt hat in der DB eine ID und die soll übergeben werden, damit die abc.php weiß, welcher Inhalt rein soll.
Über das Menü wird die ID übergeben ohne dass sich der Besucher drum kümmern muss welche es ist, aber für die Startseite muss eben die ID "1" übergeben werden, sonst sieht man nur die "Hülle" der Seite ohne Inhalt.
Grüße,
Jose
hi,
Über das Menü wird die ID übergeben ohne dass sich der Besucher drum kümmern muss welche es ist, aber für die Startseite muss eben die ID "1" übergeben werden, sonst sieht man nur die "Hülle" der Seite ohne Inhalt.
dann solltest du dein script einfach entsprechend anpassen, dass es am anfang abfragt, _ob_ eine ID übergeben wurde - und wenn nein, dann die variable im script einfach mit 4 als defaultwert belegt.
gruß,
wahsaga
Hallo.
dann solltest du dein script einfach entsprechend anpassen, dass es am anfang abfragt, _ob_ eine ID übergeben wurde - und wenn nein, dann die variable im script einfach mit 4 als defaultwert belegt.
Na klar, das isses! Vielen, vielen Dank.
Und so siehts aus:
if ($id != "");
{
$id = "1";
}
Grüße,
Jose
Hallo Jose,
noch ein ungebetener Tip:
if ($id != "");
{
$id = "1";
}
Bitte sei so weitsichtig und mache Dein Script portabel. Greife statt auf $id auf $_GET['id'] zu ;)
Mögliche Fragen, die jetzt bei Dir aufkommen, kannst Du durch http://suche.de.selfhtml.org/cgi-bin/such.pl?suchausdruck=register_globals&feld=alle&index_5=on&index_6=on&index_7=on&index_8=on&index_9=on&hits=alle und http://de3.php.net/manual/de/security.registerglobals.php abklären.
Gruß aus Berlin!
eddi