# Mehrere Rewrite Fragen mit htaccess



## Flextone (18. Juni 2007)

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:


```
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:

```
$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!


----------



## Gumbo (19. Juni 2007)

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.


----------



## Flextone (19. Juni 2007)

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ß


----------



## Gumbo (19. Juni 2007)

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.


----------



## Flextone (19. Juni 2007)

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.


----------



## Gumbo (19. Juni 2007)

Erweitere es einfach durch eine weitere Regel, etwa:
	
	
	



```
RewriteRule   ^([a-zA-Z]+)$   /index.php?nickname=$1   [L]
```


----------



## Flextone (19. Juni 2007)

Ich könnte auch:


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

Oder?

Bei jeder RewriteRegel sollte ein [L] ans Ende oder?


----------



## Gumbo (19. Juni 2007)

Das „L“-Flag bewirkt, dass der aktuelle Verarbeitungsprozess abgebrochen wird, falls die Regel angewandt wird.


----------



## Flextone (19. Juni 2007)

Die Abfrage meiner Regel wäre aber richtig?


----------



## Gumbo (19. Juni 2007)

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.


----------



## Flextone (20. Juni 2007)

Aus:

a-zA-Z0-9


----------

