# Mod Rewrite Last Rule



## ShadowMan (10. Juli 2007)

Hi zusammen,

ich habe folgendes Problem mit dem heiß geliebten Mod Rewrite:


```
RewriteEngine On

RewriteBase /

#RewriteCond %{REQUEST_URI} ^(.*)/([0-9]*)-([-_0-9a-z]*).html
RewriteRule ^regeln/([a-z]*)/([a-z]*)/([0-9]*)-([-_0-9a-z]*).html regeln/zeigeregel.php?f=$1&s=$2&t=$4 [L]

#RewriteCond %{REQUEST_URI} !^(.*)/([0-9]*)-([-_0-9a-z]*).html
RewriteRule ^regeln/ regeln/regeln.php
```

Die Conditions habe ich mal ausgeklammert. Und zwar würde ich gerne, dass eine url /regeln/ auf die zweite Rule verweist, sollte aber dahinter mehr kommen, soll die erste Regel verwendet werden: /regeln/grundlagen/januar/501-test.html

Beides für sich alleine funktioniert, doch er will das [L] nicht beachten und sobald ich die zweite Regel zulasse, überschreibt diese die erste Regel und ich lande immer auf der regeln.php.

Was mache ich da falsch?

Vielen Dank für Tipps,
Manuel ;-]


----------



## Gumbo (10. Juli 2007)

```
RewriteRule   ^regeln/([a-z]+)/([a-z]+)/([0-9]+)-([-_0-9a-z]+)\.html$   regeln/zeigeregel.php?f=$1&s=$2&t=$4   [L]
RewriteRule   ^regeln/$   regeln/regeln.php
```


----------



## ShadowMan (10. Juli 2007)

Nach 4 Stunden testen ist man manchmal wirklich blind...ich bin mir sicher, dass ich auch das ausprobiert habe, aber jetzt klappt es.

Ich danke dir vielmals!

Liebe Grüße,
Manuel ;-]


----------



## ShadowMan (6. November 2007)

Hey zusammen!

Ich habe leider schon wieder ein Problem mit dem geliebten mod_rewrite. Und zwar funktionieren nun alle Links bzw. Weiterleitungen, das Problem ist aber nun, dass die Subdomains nicht mehr funktionieren.

Wisst ihr zufällig woran das liegen könnte? Überschreibe ich diese einfach mit mod_rewrite? Sobald ich die htaccess-Datei lösche funktionieren diese Subdomains wunderbar.

Lg,
Manuel ;-]


----------



## suntrop (14. November 2007)

Versuch mal in den Ordner der Subdomain eine weitere .htaccess zu legen.

Und in die Datei schreibst du 

*RewriteBase /*

Ich weiß nicht genau was du mit "Subdomains nicht mehr funktionieren" meinst, aber das könnte dein Problem beheben.


----------



## ShadowMan (14. November 2007)

Oh super, vielen Dank für diesen Hinweis! Hat scheinbar geklappt. *freu*

Weisst du auch warum das gesetzt werden muss?


----------



## suntrop (15. November 2007)

ShadowMan hat gesagt.:


> Weisst du auch warum das gesetzt werden muss?



Die RewriteBase gibt an, auf welchen Pfad sich die RewriteRule beziehen soll. 

Da die Subdomain nach außen (z.b. Browser) einen anderen Pfad als nach innen (tatsächlicher Pfad) hat, muss mod_rewrite wissen mit welcher Adresse es arbeiten soll bzw. das die URI nicht mit dem physikalischen Pfad übereinstimmt. Sonst wird an der "falschen" Stelle gebastelt.

Ich hoffe das war einiger Maßen verständlich ;-)

Grüße - suntrop


----------



## ShadowMan (15. November 2007)

Ja, vielen Dank! 

Lg,
Manuel ;-]


----------

