RewriteRule gesucht

C22

Cadet 3rd Year
Registriert
Dez. 2006
Beiträge
39
Hallo Forum,

ich bräuchte Hilfe bei einer RewriteRule, folgendes möchte ich erreichen:

Seiten liegen im root von http://www.example.com

Wenn jetzt die Seite über z.B. http://www.example.com/neu/de
aufgerufen wird soll trotzdem der root content geladen, die URL aber gleich bleiben.

Dies soll für diverse Unterordner/Pfade möglich sein.

Die aufgerufene URL möchte ich dann in PHP per $_SERVER['REQUEST_URI'] auswerten.

Weiß jemand Rat? danke.
 
Eine ganz einfache Lösung sähe bspw. so aus:
Code:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Alternativ kannst du die letzte Zeile auch gegen folgende ersetzen:
Zur Erklärung:
Die ersten beiden Zeilen überprüfen nur, ob die angegebene URL keine real existierende Datei bzw. existierender Ordner ist.
Danach kommt die Rewrite Rule, die meiner Meinung nach selbsterkärend ist. :)
Code:
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Da ist das Handling etwas einfacher, da du in PHP nur $_GET['q'] abgreifen brauchst. :)
 
Zuletzt bearbeitet:
ok, vielen dank.
Leider funktioniert es nicht so richtig, ich erhalte einen internen Servererror (500)
Ergänzung ()

ok, .htaccess war im falschen Ordner. Jetzt sachter aber:

The requested URL /index.php/neu/de/ was not found on this server.
 
ja, hast Du meine Ergänzung gesehen? Das Rewrite scheint nicht richtig zu sein, der Pfad wird noch hinten dran gehängt.
 
Ja, hatte ich gesehen.
Existiert denn auf dem Server auf die index.php?
Denn über diese Datei erfolgt dann das komplette URL-Handling.

So habe ich zumindest dein Problem verstanden - kann natürlich aber auch gut möglich sein, dass wir gerade aneinander vorbei arbeiten... ;)
 
okay, jetzt weiß ich wesentlich was du willst.
Allerdings erschließt sich mir auf den ersten Blick nicht ganz der Sinn von deiner Vorgehensweise:
Code:
[URL]http://www.example.com/neu/de/index.php[/URL]
D.h. die index.php hinten an den Pfad anzuhängen, aber trotzdem die Inhalte aus dem Doc-Root zu laden?!

Deswegen nun noch eine Frage:
Existieren die Ordner "neu" und "de" nun real oder sind dies nur mögliche URI-Parameter?
Denn wenn die Ordner real existieren, brauchst du nur den Directory Index auf die index.php legen.
Falls nicht, solltest du dir überlegen, dein Programm nach meinem Vorschlag umzubauen. :)
 
Ok, die index.php brauche ich da hinten nicht, die unterordner kann ich (leer) anlegen, daran soll's nicht scheitern. Das würde bedeuten dass es nur für Real existierende Ordner funktioniert, bei allen anderen aufrufen gäbe es ein 404, das wäre ok. Es wäre nett wenn du mir noch sagst wie ich das mit dem Directory Index mache... :)
 
Zuletzt bearbeitet:
Zurück
Oben