Seite 1 von 1

mod_rewrite Syntax-Änderungen

Verfasst: 27.05.2012, 08:04
von midola
GuMo,

bin ganz neu hier, weil ich um Hilfe ersuche. Bin was mod_rewrite angeht ein echter Noob. Ich habe einen managed Server bei 1und1 und setze für eine Community Boonex Dolphin ein. Bis vor einer Woche funktionierte alles auch ganz prima und dann aktualisierte 1und1 die Serverumgebung. Seitdem laufen alle mod_rewrites des .htaccess ins Leere.
Nach Auskunft des 1und1 Supports hätte sich was an der Syntax geändert, da nun Apache 2.2 verwendet wird.
Ich habe aber im Netz eine grundlegenden Änderungen zu der alten Apache-Version gefunden.

Hier mal ein Beispiel aus der .htaccess

Code: Alles auswählen

RewriteRule ^forum/groups/(.*)$  modules/boonex/forum/$1?orca_integration=groups [QSA,L]
Weiß jemand wie diese Befehlszeile nach Apache 2.2 Syntax verändert werden muss?

Ich hoffe auf eure Hilfe, denn im Moment ist die Community-Seite leider nicht mehr zu gebrauchen.

Vielen Dank

Verfasst:
von

Verfasst: 27.05.2012, 16:53
von Melegrian
Was soll sich da verändert haben?

Zumindest zum Testen von mod_rewrite Regeln verwende ich den Apache 2.2 und für den groben Überblick hatte ich mir mal ein Buch von 2007 für den Apache 2.0 geholt, einen Unterschied kann ich eigentlich nicht auf dem ersten Blick erkennen.

Was ich auf die Schnelle las, wenn bisher noch ein Apache 1.3 im Betrieb war, dass da gegenüber dem Apache 2 die Schnittstelle für Module von Drittanbietern verändert wurde. Also Module von Drittanbietern, die für den Apache 1.3 entwickelt wurden, sollen ab Apache 2.0 nicht mehr ohne Modifikationen funktionieren. Womit aber Server-Module gemeint sein dürften und keine Module von CMS und Foren oder so.

Du könntest höchstens mal testweise die Module mit einfügen, falls bisher nicht so gehandhabt, als etwas in dieser Art, doch bei meinen Regeln habe ich das bisher nicht benötigt:

Code: Alles auswählen

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On

....

</IfModule>
Eventuell brauchst Du aber nur Deine Software aktualisieren.

Verfasst: 27.05.2012, 21:03
von Synonym
Ich würde mal damit anfangen und erst mal näher erklären was denn damit genau gemeint ist:
Seitdem laufen alle mod_rewrites des .htaccess ins Leere.
Was heißt ins Leere?

Dann würde ich als nächstes mal in der Rule vor das modules/boonex/.. einen Slash machen, also /modules/boonex/

Und danach das Log aktivieren und nachsehen, das die Rules da denn überhaupt machen, wenn sie denn was machen.

Ansonsten schwer zu sagen. An den Rules bzw. an deren Syntax wurde gar nichts geändert.

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 27.05.2012, 21:19
von Melegrian
Synonym hat geschrieben:Dann würde ich als nächstes mal in der Rule vor das modules/boonex/.. einen Slash machen, also /modules/boonex/
Den fehlenden Slash hatte ich übersehen. Funktionierte das auch mal ohne?

Verfasst: 28.05.2012, 00:36
von midola
Alle Links die mit mod_rewrite in der .htaccess stehen ergeben einen 404. Vor der Umstellung lief alles perferkt, auch ohne einen Slash davor. Eine Änderung mit Slash davor brachte jetzt aber auch keinerlei Änderungen mit sich.

Verfasst: 28.05.2012, 10:21
von Melegrian
Das ist der einzige Post, den ich unter den neueren Beiträgen zum Thema "1&1 Serverumstellung" fand:
- Zum Ersten hat wurde die Variable $_SERVER['REMOTE_USER'] in $_SERVER['REDIRECT_REMOTE_USER'] geändert.
- Des Weiteren ist das Server-Verzeichnis zum Speichern von Sessions bei der neuen Serverversion schlicht und einfach gesperrt.
https://xhtmlforum.de/67543-serverumste ... nicht.html

Und ob das nun auf Deinem Fall auch zutrifft, ist mehr als fraglich. Also, erst einmal das Problem soweit wie möglich einzugrenzen, alles anderes wird nicht viel bringen.

Verfasst: 28.05.2012, 10:35
von Synonym
Ich würde einfach mal das Log aktivieren, dann sieht man auch, was die Rules da machen und warum der 404 kommt. Im einfachsten Fall wird die .htaccess gar nicht verwendet oder eben die Zielurl ist falsch. Aber das ergibt sich alles aus dem Log.