# Frage zu htaccess und mod rewrite



## mr_xxl (1. Februar 2012)

Hallo alle zusammen,

ich habe eine Frage zur Umschreibung von URL's. Ich habe mir eine Anleitung gefunden und die dort vorhandene Beispiele soweit verstanden. Nun habe ich ein Ausschnitt aus htaccess gefunden, den ich nich so ganz verstehe.


```
RewriteCond %{SERVER_PORT} ^443
RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
RewriteRule ^([^/?]+)/art_([^/?]+)/([^/?]+)/?$ tinc?bla=$1&blabla=$2&%{QUERY_STRING} [L]
```

Wird der Link etwa so aussehen?

..../article$1/$2/
Was ich nicht verstehe, hier stehen 2 Variablen($1 und $2) und in der Link sind 3 Plätze ([^/?])

Vielleicht weißt jemand wo man dazu beispiele mit lösungen finden kann.


----------



## Vesquar (9. Februar 2012)

In deinem Beispiel gibt es zwar drei Gruppen, aber es werden nur die ersten beiden benutzt. Das ist jetzt nichts dramatisches. Die Gruppen werden von links nach rechts durchnummeriert und lassen sich dann über $x aufrufen (x = Nummer).

Um die Funktionsweise von Regularexpressions genauer zu verstehen gibt es einige Programme wie
http://weitz.de/regex-coach/
http://www.regexbuddy.com/debug.html
Leider bisweilen kostenpflichtig.

Damit kann man sich die Expression aufschlüsseln lassen und teilweise sogar zuschauen, was der Matcher macht. Es gibt wohl noch einige weitere Programme, die Suchwörter sind meist etwas wie Regular expressions, debugger, testing. Einfach mal das Internet durchforsten.

Zu beachten ist aber, dass nicht alle Implementierungen von RegularExpressions identisch sind. In den verschiedenen Sprachen gibt es bisweilen minimale Abweichungen. So hat mod_rewrite das ! als Negation, was sonst bei den Wenigsten vorkommt.


----------



## anmae (21. Februar 2012)

ich möchte alle Aufrufe von http://www.meinedomain.de auf mainedomain.de umleiten.

wie kann ich das mit mod_rewrite tun?
ich habe den Ansatz:
RewriteRule ^www(.*)$ http://meinedomain.de/ [qsappend,L]

ist das so richtig?


----------



## mr_xxl (24. Februar 2012)

versuch hiermit

RewriteCond %{HTTP_HOST} !^meinedomain\.de$
RewriteRule ^(.*)$ http://meinedomain.de /$1 [L,R=301]


----------

