redirect abhängig von Dateiname
Freddy
- php
1 suit0 Freddy0 ChrisB0 AllesMeins0 suit
0 Alexander (HH)
Hallo zusammen,
ich hab folgendes Problem:
Ich möchte eine Umleitung in PHP erstellen, die abhängig von der aktuellen Position unterschiedlich reagiert.
Nach einiger Recherche in Google bin ich auf "redirect" gestoßen, aber wie kriege ich die if / else hin?
Bin leider absoluter PHP-Neuling.
Vielleicht habe ich auch die falschen Keywords gegooglet.
Bin für jede Hilfe dankbar.
Grüße,
Freddy
- Wenn URL = http://www.beispiel.de/datei1.htm, dann tue nichts
- Wenn URL <> http://www.beispiel.de/datei1.htm, dann öffne in neuen Fenster http://www.beispiel2.de/
Bitte RFC 2606 Abschnitt 3 beachten.
PHP kann keine neuen Fenster öffnen. Das kann nur die Clientseite - entweder der Benutzer selbst oder z.B. JavaScript - aber das blockieren moderne Browser ohnehin.
Nach einiger Recherche in Google bin ich auf "redirect" gestoßen, aber wie kriege ich die if / else hin?
Vielleicht habe ich auch die falschen Keywords gegooglet.
Möglicherweise hast du dir auch einfach nicht überlegt, was du eigentlich bezwecken willst - wenn du das näher beschreibst, kann man dir ggf. besser helfen.
Womöglich ist eine Technologie die beim Webserver bereits vorhanden ist eher geeignet als PHP. z.B. mod_rewrite oder mod_alias im Falle von Apache.
Möglicherweise hast du dir auch einfach nicht überlegt, was du eigentlich bezwecken willst - wenn du das näher beschreibst, kann man dir ggf. besser helfen.
Womöglich ist eine Technologie die beim Webserver bereits vorhanden ist eher geeignet als PHP. z.B. mod_rewrite oder mod_alias im Falle von Apache.
Ok, dann versuche ich mal, euch den Gedanken dahinter in Worte zu fassen.
Es handelt sich dabei um ein Experiment mit meinen Blog.
Wenn ein bestimmter Post angeschaut wird (also URL="..../postxyz.html), dann soll zusätzlich ein weiteres Fenster mit einer Umfrage zu diesem Post geöffnet werden.
Wenn der Post aber in der normalen Übersicht (also URL= Blostartseite) angezeigt wird, soll nichts passieren.
Zum Öffnen des Fensters bin ich jetzt auf das hier gestoßen.
<script>
window.open("bespielpage.htm", "_blank", "");
</script>
Ist zwar kein PHP, aber das hier lässt mein Blog auch zu, wenn ich es im Posting mit eingebe.
Stellt sich jetzt nur noch die Frage, wie frage ich ab, was in der URL steht, um es zu vergleichen?
Gruß,
Freddy
Hi,
Wenn ein bestimmter Post angeschaut wird (also URL="..../postxyz.html), dann soll zusätzlich ein weiteres Fenster mit einer Umfrage zu diesem Post geöffnet werden.
Warum soll die in einem extra Fenster erscheinen, warum nicht mit dem Blogeintrag im gleichen?
Wenn der Post aber in der normalen Übersicht (also URL= Blostartseite) angezeigt wird, soll nichts passieren.
Dafür, gewisse Inhaltsteile nur in der Beitragsansicht, nicht aber in der -übersicht anzuzeigen, sollte eigentlich jedes halbwegs brauchbare Blogsystem schon Möglichkeiten mitbringen.
MfG ChrisB
Wenn ein bestimmter Post angeschaut wird (also URL="..../postxyz.html),
Werden .html Dateien auf deinem Server von PHP geparsed? Das wäre eine eher ungewöhnliche Einstellung. Wenn nicht, dann kannst du mit PHP nicht wirklich viel machen.
Zum Öffnen des Fensters bin ich jetzt auf das hier gestoßen.
<script>
window.open("bespielpage.htm", "_blank", "");
</script>
Das dank diverser Werbe-Heinis inzwischen jeder brauchbare Browser blocken wird. Ein Pop-Up das automatisch aufgeht wirst du heutzutage nicht mehr realisieren können.
Stellt sich jetzt nur noch die Frage, wie frage ich ab, was in der URL steht, um es zu vergleichen?
$_SERVER['PHP_SELF']; enthält die Adresse des Scripts. Alternativ kann man auch mit JavaScript die derzeitige Location auslesen - window.location.href wenn ich mich recht entsinne.
Das wäre eine eher ungewöhnliche Einstellung.
Sehe ich nicht so - zudem, wer sagt denn, dass es sich bei dabei um real existierende Dateien handelt?
Sehe ich nicht so - zudem, wer sagt denn, dass es sich bei dabei um real existierende Dateien handelt?
Niemand, aber es ist trotzdem ein Hinweis den man anbringen sollte, da der Fragesteller ja ofensichtlich noch nicht so viel Wissen in diesem Bereich hat.
Moin Moin!
Kurz: Geht nicht.
HTTP ist stateless. Du kannst Links ein target-Attribut verpassen und hoffen, dass der Browser es wie gewünscht auswertet, das ist dann aber auch schon alles.
Du kannst versuchen, mit Client-seitigem Javascript nachzuhelfen, wirst dabei aber oft auf die Nase fallen, weil Popups nerven und entsprechend Popup-BLocker installiert sind oder Javascript für Deine Site stumpf gesperrt ist (wie für alle anderen Sites auch, die es mangels nützlichem Content nicht in den Kreis der priviligierten Sites geschafft haben).
Alexander