RewriteRule via php

JesusFreak777

Erfahrenes Mitglied
Hi ihr,

ich möchte gerne RewriteRule´s nutzen! mit htaccess funktioniert das auch ganz gut! da aber meine Rules sich ändern können neue dazukommen,... wollte ich mal fragen ob es auch eine möglichkeit gibt diese via php zu übergeben!

keinen plan ob sowas gehen kann aber ich dachte es mir so das ich in meiner htacess etwas vorgebe, das ich dann alle weiteren informationen in meine index.php schrieben kann!

geht sowas?

wie machen joomla und co das mit den urls das die pfade immer stimmen?

Danke
 
Moin,

mach es doch mit Platzhalter in der htaccess. Wenn es nicht zu lange URLs werden.

Z. b. könntest du die Regel so erstellen:
Code:
RewriteRule ^([^/]+).html$ index.php?seite=bla&befehl=$1 [L]
Beim auruf von seite.de/unterseite.html kann dann auf index.php?seite=bla&befehl=unterseite gewechselt werden.

Oder so:
Code:
RewriteRule ^([^/]+)/([^/]+).html$ index.php?seite=$1&befehl=$2 [L]
oder
RewriteRule ^([^/]+)_([^/]+).html$ index.php?seite=$1&befehl=$2 [L]
damit könntest du seite.de/pfad/datei.html und seite.de/seitentitel_25.html abfangen.
Letzteres würde ich nehmen, wenn du eine ID für die Seite übergibst oder so ähnlich.

Wenn das aber nicht ganz funktioniert, oder zu kurz ist dann kannst du mit PHP eine Referenz aufbauen. So habe ich das mal gemacht, beim Seitenaufruf schreibe ich ein PHP Array mit den vorkommenen Seiten. Dann wird geprüft ob die aufgerufene Seite im Array vorkommt, und dann entsprechend für die Seite geladen.
 
noch was zum thema!

ich habs jetzt so gelöst:

Code:
RewriteEngine On
Options +FollowSymlinks
Options -Indexes

RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

den string filter ich dann einfach via php in einzelne variablen

das funktioniert auch gut!
jetzt zum problem,... jetzt habe ich aber auch einige dateien und ordner auf denen ich zugreifen muss! aber das geht jetzt natürlich nicht mehr...

meine versuche (für ordner):

Code:
RewriteRule !bin/ - [ C]

oder

Code:
RewriteCond %{REQUEST_URL} !^/bin

halfen nichts!
was kann ich tun?
auch für php files die direkt neben der index liegen brauch ich ne außnameregelung!

Danke
 
Zurück