# mod_rewrite und Trailing-Slash Problem



## Chino (1. Juni 2004)

Guten Tag Forum!

Ich hab hier ein kleines problem mit mod_rewrite. Und zwar folgendes:
Bisher sehen die Links meiner Seite folgendermaßen aus:

*http://www.domain.de/index.php?section=profil*

Ich würde jetzt allerdings gerne alle Links folgendermaßen anzeigen:

*http://www.domain.de/profil*

Soweit so gut. Zunächst erstmal die ersten drei Zeilen meiner .htaccess Datei, die im Hauptverzeichnis der Domain liegt:


```
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
```
So, und dann kommt folgende Zeile:

```
# rule 2
RewriteRule ^(.*)\/$ /index.php?section=$1 [L]
```
 Rufe ich jetzt die URL 
*http://www.domain.de/profil/* auf, wird die richtige Seite angezeigt. Jetzt hab ich halt nur das Problem, dass der Trailing Slash am Ende immer angefügt werden muss, damit es funktioniert. Lass ich den Slash weg, bekomm ich einen 404-Fehler (Seite nicht gefunden). 

Ok, nachdem ich ein wenig Google gequält hab (*g*) hab ich noch folgendes als erste Rule angegeben:


```
# rule 1
RewriteRule ^(.*[^\/])$  /$1/ [R]
```

Wenn ich jetzt *http://www.domain.de/profil* aufrufe, wird zwar automatisch am Ende der Slash drangehangen, aber ich bekomme dann erneut einen 404-Fehler.

Ich hab jetzt auch mal folgendes versucht:
- Rule 2 ist auskommentiert
- Ich gebe *http://www.domain.de/profil* ein
- Slash wird ordnungsgemäß drangehangen
- Ich binde die 2 Rule wieder ein
- Ich aktualisiere das Browserfenster (in dem immer noch *http://www.domain.de/profil/* steht)
- Als Ergebnis erhalte ich einen 404-Fehler
- Ich kommentiere die 1. Rule aus
- Ich aktualisiere das Browserfenster
- Als Ergebnis erhalte ich die Ausgabe *profil* (lass ich mir mittels PHP ausgeben).

 

Ich steh gerad ziemlich auf dem Schlauch. Also wenn mir jemand sagen kann, wie ich sowohl *http://www.domain.de/profil/* als auch *http://www.domain.de/profil* aufrufen kann, wäre mir sehr geholfen 

Thx,
Chino


----------

