Seitenaufrufe ohne ".html" ????
Olli_S
- php
0 Stefan Einspender0 Harry0 Olli_S
0 regenfeld
Hallo !
Ich habe auf meiner Seite mehrere Menüpunkte (Download, Forum, Chat).
Der User soll diese Bereiche direkt per URL anspringen können.
Meomentan ist das mit der URL folgendermaßen möglich:
www.meine-seite.de/download.html
www.meine-seite.de/forum.html
Dazu habe ich 20 Dateien, die ein Framseset mit dem entsprechenden Inhalt anzeigen.
Funktioniert.
Ich will die Framedateien "download.html", "forum.html" und die 18 weiteren weglassen und sie durch eine PHP ersetzen, die per Parameter die Seite mitbekommt.
Das funktioniert von der Technischen Seite her ganz gut:
www.meine-seite.de/frame.php?seite=download
www.meine-seite.de/frame.php?seite=forum
www.meine-seite.de/frame.php?seite=chat
Mit dieser PHP-Datei kann ich alle Seiten aufrufen, habe aber nur 1 anstelle 19 Dateien.
Der Parameter "?seite=chat" sieht aber furchtbar aus (für den User).
Ist es irgendwie möglich, dass der User
www.meine-seite.de/download
www.meine-seite.de/forum
eintippt (also ohne das ".html"), die Datei "frame.php" mit dem entsprechenden Parameter geladen wird, aber in der URL der Text vom User stehen bleibt (also "www.meine-seite.de/download") ?
Ich habe alle Dateien im Root-Verzeichnis.
Wenn der User "www.meine-seite.de/download" tippt, würde der Browser im Verzeichnis "download" die "index.html" laden.
Bei einer Umleitung würde der Parameter aber in der URL stehen beliben.....
Hoffe mich verseht einer und kann mir helfen.
Gruß
OLLI
Hallo Oliver,
Der Parameter "?seite=chat" sieht aber furchtbar aus (für den User).
glaub mir, es interessiert den Ottonormaluser überhaupt nicht, ob da
in der Adressezeile http://domain.xy/download.html oder eben
http://domain.xy/seite.php?inhalt=download steht. Solange Du noch
nicht mit Session-ID's o.ä. arbeitest, kannst Du Dir mod_rewrite
sparen.
Viele Grüße,
Stefan
Tag
Ist es irgendwie möglich, dass der User
www.meine-seite.de/download
www.meine-seite.de/forum
eintippt (also ohne das ".html"), die Datei "frame.php" mit dem entsprechenden Parameter geladen wird, aber in der URL der Text vom User stehen bleibt (also "www.meine-seite.de/download") ?
Ich habe alle Dateien im Root-Verzeichnis.
Wenn der User "www.meine-seite.de/download" tippt, würde der Browser im Verzeichnis "download" die "index.html" laden.
Und genau da mußt Du ansetzen. Erstelle die entsprechenden Unterverzeichnisse (download, forum etc.) und lege jeweils eine index.php drin an. Die braucht damm prinzipiell nur aus der Zeile
include("../frame.php?seite=dingsbums");
bestehen. Allerdings mußt Du drauf achten, daß die Refernzierungen von z.B. Grafiken in der frame.php (die ja eine Verzeichnisebene tiefer liegen) auch für die index.php im jeweiligen Unterverzeichnis gelten. wie Du das dann machst bleibt Dir überlassen. Aber nachdem Du sagst, daß eh alle Dateien im Root liegen, kannst Du z.B. einfach src="/meinegrafik.jpg" statt src="meinegrafik.jpg" angeben. Dann passt's.
Ciao,
Harry
Bei einer Umleitung würde der Parameter aber in der URL stehen beliben.....
Hoffe mich verseht einer und kann mir helfen.
Gruß
OLLI
Hallo !
Und genau da mußt Du ansetzen. Erstelle die entsprechenden Unterverzeichnisse (download, forum etc.) und lege jeweils eine index.php drin an. Die braucht damm prinzipiell nur aus der Zeile
include("../frame.php?seite=dingsbums");
bestehen. Allerdings mußt Du drauf achten, daß die Refernzierungen von z.B. Grafiken in der frame.php (die ja eine Verzeichnisebene tiefer liegen) auch für die index.php im jeweiligen Unterverzeichnis gelten. wie Du das dann machst bleibt Dir überlassen. Aber nachdem Du sagst, daß eh alle Dateien im Root liegen, kannst Du z.B. einfach src="/meinegrafik.jpg" statt src="meinegrafik.jpg" angeben. Dann passt's.
Klingt super und logisch !
Werde ich heute Abend gleich mal ausprobieren !
Vielen Dank !!!!
OLLI
Grüssi,
www.meine-seite.de/frame.php?seite=download
www.meine-seite.de/frame.php?seite=forum
www.meine-seite.de/frame.php?seite=chat
Mit dieser PHP-Datei kann ich alle Seiten aufrufen, habe aber nur 1 anstelle 19 Dateien.
Der Parameter "?seite=chat" sieht aber furchtbar aus (für den User).
Ist es irgendwie möglich, dass der User
www.meine-seite.de/download
www.meine-seite.de/forum
eintippt (also ohne das ".html"), die Datei "frame.php" mit dem entsprechenden Parameter geladen wird, aber in der URL der Text vom User stehen bleibt (also "www.meine-seite.de/download") ?
Wenn du das wirklich machen willst, müsstest du einiges im Apache rumeditieren, bzw. eine sehr liberal eingestellte htaccess zur Verfügung haben. Falls du das hast, solltest du dich mal näher mit mit MultiViews, Content-Negotiation und Apache-Handlern beschäftigen:
http://httpd.apache.org/docs/content-negotiation.html
http://httpd.apache.org/docs/handler.html
mod_rewrite könntest du dir unter umständen ersparen, leicht wirds jedoch trotzdem nicht. Du solltest dir gut überlegen, ob dir das wirklich _so_ wichtig ist! Denn mir ist es ehrlichgesagt auch ziemlich wurscht was jetzt in der Adressleiste steht, nochdazu wenns eine private Seite ist.
lg regenfeld
PS: Es gibt natürlich auch einige gute Gründe sich für so eine Variante zu entscheiden, du kannst deine ja mal aufführen (den mit 'is einfach hässlich' brauchst nicht nochmal anführen ;-)