# mod_rewrite | Fehlender Slash am Ende



## Metha (19. Mai 2007)

Moin Moin,

ich habe eine Problem bei meiner htaccess Datei.

Ich möchte alle aufgerufenen URLs, die folgender Prämisse entsprechen, umschreiben.

http://www.url.de/asd_asd
http://www.url.de/DE/asd/bli
etc.

zu
http://www.url.de/asd_asd/
http://www.url.de/DE/asd/bli/

URLs wie diese sollen aber nicht betroffen sein:
http://www.url.de/asd/dfg/sdf.htm

Also nur URLs die nach dem letzten vorkommenden Slash Groß- u. Kleinbuchstaben, Nullen bis Neunen sowei Unterstriche "_" haben.

Also hier mein Ansatz:

```
RewriteEngine on
RewriteBase /

RewriteCond		%{REQUEST_URI}		/([a-z0-9_]*)$		[NC]
RewriteRule		^(.*)$		$1/		[L]
```

Doch hiermit bekomme ich nen Internal Server Error. Außerdem möchte ich vermeiden den Host mit anzugeben, das es universell sein muss. Mit %{HTTP_HOST} hab ichs auch nicht hinbekommen.

Jemand ne Idee wo ich auf der Pipeline stehe?

Danke und Gruß Metha


----------



## Gumbo (19. Mai 2007)

Probier mal Folgendes:
	
	
	



```
RewriteCond   %{REQUEST_FILENAME}   !-f
RewriteCond   %{REQUEST_FILENAME}   !-d
RewriteRule   !/$                   %{REQUEST_URI}/   [L]
```


----------



## Metha (19. Mai 2007)

Danke für die fixe Antwort!

Nun macht er aber folgendes:
/asd////////////////

Der Slash wird zwar ergänzt, doch ein paar mal zu viel.

Ich kann mit %{REQUEST_FILENAME}  noch nicht wirklich was anfangen, nach meinen Bedürfnissen umgeschrieben kommt nun aber auch der selbe Fehler:



```
RewriteCond  %{REQUEST_URI}  /([a-z0-9_])$    [NC]
RewriteRule  !/$             %{REQUEST_URI}/  [L]
```


----------



## Gumbo (19. Mai 2007)

Hast du meinen Vorschlag alleine eingesetzt?


----------



## Metha (19. Mai 2007)

Ja, habe eben bemerkt, das ich noch auf den alten Cache zugegriffen habe - sorry!

Nun geht es fast:

URL bleibt so nach eingabe:
http://www.url.de/9111q

Doch die 404 im Content (Fehler ist ok) hat den Slash übernommen:

Not Found
The requested URL /9111q/ was not found on this server.


----------



## Metha (19. Mai 2007)

Ok, habs selber hinbekommen:


```
#RewriteCond   %{REQUEST_FILENAME}   !-f
#RewriteCond   %{REQUEST_FILENAME}   !-d
RewriteRule		!/$					%{REQUEST_URI}/		[R=301,L]
```


oder eben:


```
RewriteCond		%{REQUEST_URI}		/([a-z0-9_]*)$		[NC]
RewriteRule		!/$					%{REQUEST_URI}/		[R=301,L]
```

Danke noch mal Gumbo


----------

