it-swarm.com.de

Warum leitet dieser mod_rewrite meine Domain um?

Ich versuche, alle URLs nach dem "/" meiner Domain auf eine old.mysite.com-Version umzuleiten, lasse aber mysite.com selbst in Ruhe.

Zum Beispiel "mysite.com" -> "mysite.com", aber "mysite.com/some-url" -> "old.mysite.com/some-url". Folgendes habe ich jetzt:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(.+)$
RewriteRule /(.*) http://archived.example.com/$1

Aber es leitet "mysite.com" -> "old.mysite.com" um. Wie kann ich das ändern, damit die Kerndomäne nicht umgeleitet wird, sondern nur, wenn URL-Bits sozusagen hinter dem ".com /" stehen?

2
rpheath

Die RewriteCond %{REQUEST_URI} ^/(.+)$ passt auf alle Zeichen nach dem /

(.+) ist ein regulärer Ausdruck, der mit einem beliebigen Zeichen übereinstimmt.

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/[a-zA-Z0-9\/-]+$
RewriteRule /(.*) http://archived.example.com/$1

Das obige könnte es tun, aber ich bin nicht sehr gut mit regulären Ausdrücken.

[a-zA-Z0-9\/-]+ stimmt mit einer Reihe von Zeichen in Klammern überein, die auf den nachstehenden / folgen.

Ich benutze RegExLib als mein Spickzettel. Außerdem können Sie reguläre Ausdrücke anhand einer Quelle testen (um festzustellen, welche Übereinstimmungen vorliegen).

0
Nathan