it-swarm.com.de

Das Ändern von Teilen einer URL durch mod_rewrite führt zu einem Endlosschleifenfehler.

Ich habe meine Website auf ein neues CMS verschoben und einige meiner URLs sehen jetzt anders aus. Daher möchte ich einen Teil der eingehenden URLs löschen, damit die Links zu meiner Seite weiterhin ordnungsgemäß funktionieren.

Die alte URL sieht folgendermaßen aus:

www.example.com/MY-FORUM/my-forum/category/postingtitle

Ich möchte den MY-FORUM loswerden, also sieht es so aus:

www.my-site.de/my-forum/category/postingtitle

Nachdem ich verschiedene Beiträge gelesen hatte, versuchte ich Folgendes:

RewriteRule ^MY-FORUM/(.*) /$1 [R=301,L]

Welches gibt mir eine Fehlermeldung zurück, die besagt:

Endlosschleife in JError erkannt

(Ich benutze Joomla)

Was verursacht das?

2
Sascha

Ich vermute, du definierst es im <VirtualHost>, also muss das Muster einen führenden Schrägstrich haben:

RewriteRule ^/MY-FORUM/(.*) /$1 [R=301,L]
2
quanta

Die Tatsache, dass Sie einen Joomla-Fehler erhalten, deutet darauf hin, dass Sie bereits über mod_rewrite hinausgehen. Die obige Anweisung sollte für sich genommen keine Umleitungsschleife generieren - vorausgesetzt, Sie haben keine URLs, die mit /MY-FORUM/MY-FORUM/ beginnen?

Joomla selbst verwendet jedoch mod_rewrite, sodass möglicherweise ein Konflikt mit anderen Anweisungen besteht. Da es sich um eine externe Weiterleitung handelt, sollte sie nach der Anweisung RewriteEngine On und vor den internen Umschreibungen von Joomla am Anfang Ihres Skripts stehen.

0
MrWhite