Hallo Patrick,
Leider führt die Namensgleichheit bei einem RedirectMatch in dieser Form:
RedirectMatch permanent ^/forum(.*) http://old.atomic-eggs.com/forum$1
zu einer Endlosschleife.
Lass mich raten: Bei Dir sind die Subdomains nur Unterverzeichniss und deswegen wird die .htaccess auch verarbeitet, wenn die Subdomain aufgerufen wird? ;-)
Mit Redirect* kannst Du das nicht lösen, mit mod_rewrite schon (alternativ Deinen Provider bitten, Dir getrennte Verzeichnisse für Hauptdomain und Subdomains zu geben).
Lösung wäre:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.atomic-eggs\.com$ [OR]
RewriteCond %{HTTP_HOST} ^atomic-eggs\.com$
RewriteRule ^forum(.*)$ http://old.atomic-eggs.com/forum$1 [R=301,QSA]
Damit stellst Du sicher, dass nur, wenn eine Anfrage auf dem Original-Host reinkommt (die RewriteCond-Zeilen) die Anfrage auch umgeleitet wird.
Ich werde es jetzt zwar nicht mehr ändern, würde mich jedoch sehr freuen, wenn es eine andere Lösung gäbe (evtl. mit mod_rewrite, ähnlich wie Du es Ingo erklärt hast), damit ich für evtl. zukünftige Fälle gewappnet bin. Vielleicht hat es in der Tat mit dem ^ zu tun?
Mit dem ^ nicht wirklich; auch wenn Du beachten musst, dass Du hier (wie Ingo auch) ^forum schreiben musst und nicht ^/forum, da mod_rewrite auf .htaccess-Ebene sich nur noch kümmert, was nach dem letzten / des Verzeichnisses kommt, indem Du Dich gerade befindest. Redirect* dagegen arbeitet immer auf URL-Ebene.
- Nach der Änderung vom Tabellenlayout auf CSS bei "Stefan en Gironde" hatte ich die Dateiendungen von .htm auf .html geändert und hatte das gleiche Problem
Ja, da lag es daran, dass Du vmtl. RedirectMatch genutzt hast, dem regulären Ausdruck jedoch nicht gesagt hast, dass er nach dem Stringende (bei regulären Ausdrücken ist das Zeichen für Stringende ein $-Zeichen) suchen soll. Lösung:
RedirectMatch permanent ^/scr/gironde/(.*)\.htm$ http://www.atomic-eggs.com/scr/gironde/$1.html
Viele Grüße,
Christian
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup