Mehrere Rewrite Fragen mit htaccess

Flextone

Erfahrenes Mitglied
Hallo,
ich habe einige Fragen im Bereich mod_rewrite und htaccess.
Ich lade meine Seiten mit index.php?section=seite in die Index.php ein.


Nun habe ich zum Beispiel 2 Seiten die wie folgt heißen:
addcomment
addbuddy
Derzeit sieht meine htaccess Regel aber nur das erste "add" von addcomment und das addbuddy wird nicht mehr berücksichtigt. Man könnte das mit umbennen der Seiten zwar verhindern, würde das Problem aber nicht beheben.
Die Regel sieht so aus:

Code:
RewriteRule ^addbuddy/([a-zA-Z]*) index.php?section=addbuddy&nickname=$1
RewriteRule ^([a-z]*).html index.php?section=$1 [L] #Allgemeine Seite (z,B: index.php?section=impressum)
Wenn jetzt weiter unten addcomment käme würde das addcomment nicht mehr berücksichtigt. Was kann ich dagegen tun?

-----

Weiteres Problem:
ich will die z.b User direkt hinter der Domain anzeigen lassen. Derzeit löse ich das so:
domain.de/user/name
Am liebsten Hätte ich domain.de/name
Die Seiten Lade ich so ein:
PHP:
$inc = (isset($HTTP_GET_VARS['section'])) 
  ?  $HTTP_GET_VARS['section']
  :  'startseite';
switch ($inc)
	  {
	case "login":
	include("static/login.php");
	break;
	case "anmeldung":
	include("static/anmeldung.php");
	break;
.
.
.
.
.

Kann mir wer bei den beiden Problemen helfen?

Danke!
 
Die zweitgenannte Regel würde, wäre der angefragte URL „/addcomment.html“, bereits greifen, womit weitere Regeln wegen des „L“-Flags gar nicht berücksichtigt werden.
 
Ist meine Regel denn richtig? Weil ich bei gleich Anfängen der Seitennamen auch mal gerne ein 404 Fehler bekomme, das der die Seite nicht findet.

Ist die Regel denn richtig?

Hast du eine Idee bei der zweiten Frage?!

Gruß
 
Da sie zum gewünschten Ergebnis führt, ist sie korrekt, wenn auch vielleicht verbesserungswürdig. Bei deiner zweiten Frage verstehe ich nicht ganz, worauf du hinaus willst.
 
DIe zweite Frage soll auf folgendes hinauslaufen:

Bislang habe ich domain.de/seite.html oder auch domain.de/user/nickname

Ich würde gerne den Nicknamen direkt an der Domain haben.

Also:
domain.de/nickname

Nun weiß ich nicht wie die dazugehörige Regel aussehen mag.

Wie gesagt ich ziehe die Seiten mit der Methode dort oben.
 
Erweitere es einfach durch eine weitere Regel, etwa:
Code:
RewriteRule   ^([a-zA-Z]+)$   /index.php?nickname=$1   [L]
 
Ich könnte auch:

Code:
RewriteRule   ^([a-zA-Z]+)$   /index.php?section=user&nickname=$1   [L]

Oder?

Bei jeder RewriteRegel sollte ein [L] ans Ende oder?
 
Das „L“-Flag bewirkt, dass der aktuelle Verarbeitungsprozess abgebrochen wird, falls die Regel angewandt wird.
 
Da ich nicht weiß, aus welchen Zeichen Benutzernamen bestehen dürfen und ob es nicht zu einem Konflikt mit anderen URLs kommen kann, kann ich nur sagen: vermutlich ja.
 
Zurück