ERLEDIGT
JA
JA
ANTWORTEN
1
1
ZUGRIFFE
610
610
EMPFEHLEN
-
Hallo, bin neu hier

Hab ein Problem bezüglich mod_rewrite will folgende URL http://www.mein-server.com/index.php?file=Startseite in http://www.mein-server.com/Startseite.html umschreiben lassen.
Verwende folgende Regel:
RewriteEngine On
RewriteRule ^([^/]*)\.html$ /index.php?file=$1 [L]
Funktioniert leider überhaupt nicht, ist so als wäre keine Regel vorhanden.
Würde mich freuen wenn Ihr mir helfen könntet.
Hab auch schon gesucht, leider im Forum wie auch durch googlen nichts funktionierendes gefunden...
MFG marioe
-
16.12.11 05:16 #2
Hallo!
Ein kleines praktisches Beispiel (schon fast ein Mini-Tutorial
).
Wir gehen davon aus dass das Script "rewritetest.php" heisst und diesem die Variable "site" angehängt wird.
Man lege eine Datei mit dem Namen ".htaccess" an und packe folgenden Code rein:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
### rewriterule for rewritetest.php # Falls der Scriptname nicht als Indexdatei in der Serverkonfiguration eingetragen ist, # wird es hier nachgeholt. DirectoryIndex rewritetest.php # Falls jemand eine Datei oder ein Verzeichnis aufruft welches nicht existiert, # wird er einfach auf das Hauptverzeichnis umgeleitet. # Da zuvor ja die Indexdatei festgelegt wurde, wird also auf das Script umgeleitet. # Den Rest erledigt dann das Script (es wird also "Startseite" angezeigt). ErrorDocument 404 / # Erstmal muss die RewriteEngine gestartet werden. *Zündschlüssel rumdreh* RewriteEngine On # Jeder Dateiname mit der Endung ".html" wird an das Script übergeben. # Hierbei ergibt der Dateiname (ohne Endung) den Wert für die ans Script angehänge Variable "site". RewriteRule ^(.*)\.html$ rewritetest.php?site=$1 ###
Dann lege man eine Datei mit dem Namen "rewritetest.php" an und füge folgenden Code ein:
Aufgerufen wird die Seite dann mit "index.html", "one.html" oder "two.html".PHP-Code:<?php
/* Wurde die Variable "site" ans Script übergeben? */
if(isset($_GET["site"])) {
/* Dann prüfe welchen Wert die Variable "site" bekommen hat. */
switch($_GET["site"]) {
/* Hat die Variable "site" den Wert "one" bekommen (aufgerufen mit "one.html"), dann zeige "Seite eins" an. */
case "one": echo "Seite eins<br>";
echo "<a href='index.html'>zurück zur Startseite...</a><br>";
break;
/* Hat die Variable "site" den Wert "two" bekommen (aufgerufen mit "two.html"), dann zeige "Seite zwei" an. */
case "two": echo "Seite zwei<br>";
echo "<a href='index.html'>zurück zur Startseite...</a><br>";
break;
/* Hat die Variable "site" den Wert "index" bekommen (aufgerufen mit "index.html"), dann zeige "Startseite" an. */
case "index": echo "Startseite<br>";
echo "<a href='one.html'>eins...</a><br>";
echo "<a href='two.html'>zwei...</a><br>";
break;
/* Hat die Variable "site" einen ungültigen Wert bekommen, dann leite zur Startseite (index.html) um. */
default: header("Location: http://".$_SERVER["HTTP_HOST"]."/index.html");
}
} else {
/* Wurde keine Variable oder eine ungültige Variable an das Script übergeben, dann leite auf die Startseite (index.html) um. */
header("Location: http://".$_SERVER["HTTP_HOST"]."/index.html");
}
?>
Je nach dem wie man die Seite aufgerufen hat, bekommt man dann die "Startseite", "Seite eins" oder "Seite zwei" angezeigt.
Ruft man die Seite mit einem falschen Namen auf, z.b. mit "blablub.html", wird man auf "Startseite" umgeleitet.
Ach, was rede ich lange, es ist ja ein einsatzfertiges Beispiel..... also einfach mal selber testen.
Der Rest sollte sich eh aus den Kommentarzeilen ergeben.
Gruss Dr DauSchri-Schra-Schrödi *g*
mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
Dinge, die mit Tabellen besser klappen als mit CSS
Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
Meine Links zum Thema Linux (Last update: 29.10.2011)
Kein Busen ist so flach wie das Niveau dieser Party!
----
Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
----
Ich habe 3 Kinder und kein Geld!
Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)
Ähnliche Themen
-
mod_rewrite funktioniert nicht
Von Identität im Forum Hosting & WebserverAntworten: 5Letzter Beitrag: 20.10.08, 18:05 -
simples mod_rewrite-Tutorial funktioniert nicht
Von sipoh im Forum Hosting & WebserverAntworten: 9Letzter Beitrag: 19.04.08, 21:32 -
Mod_rewrite funktioniert leider nicht.
Von forsterm im Forum Hosting & WebserverAntworten: 6Letzter Beitrag: 14.02.06, 18:57 -
mod_rewrite funktioniert nicht.
Von goddi im Forum PHPAntworten: 3Letzter Beitrag: 11.09.04, 04:57 -
mod_rewrite funktioniert lokal nicht mehr :(
Von Transmitter im Forum Hosting & WebserverAntworten: 7Letzter Beitrag: 20.02.03, 14:47





Zitieren
Login





