Rolf B: htaccess hilfe

Beitrag lesen

Hallo Sanni63,

ich werd hier echt noch zum Winnetou... Eigentlich versteh ich doch gar nichts von Apachen.

Aber ok. Soweit ich das sehe, sind da 3 Hauptprobleme:

(1) Die Rewrite-Rule findet innerhalb des Servers statt. D.h. Protokoll und Hostname gehören da nicht rein. Entferne http://www.arcade-zockerbande.de aus der Rewrite-Rule.

Es bleibt:

RewriteRule ^/Testboard/index.php?act=Arcade&do=newscore$ /Testboard/arcade_score [R,L]

(2) Rewrite-Rules erwarten einen regulären Ausdruck, keinen Suchstring. Reguläre Ausdrücke habe eine spezielle Syntax, und bestimmte Zeichen haben Sonderbedeutung. In deinem Fall sind das der Punkt und das Fragezeichen. Ein Punkt ist ein Universalmatch, d.h. er trifft auf jedes Zeichen an dieser Stelle zu. Ein Fragezeichen ist ein "Optional" Schalter, d.h. es matcht nicht ein Fragezeichen, sondern sagt, dass der Regex-Teil links davon auch weggelassen werden kann. In diesem Fall das p von php. Du musst diese Zeichen maskieren (escapen auf gut denglisch), dafür verwendet man den Backslash .

RewriteRule ^/Testboard/index\.php\?act=Arcade&do=newscore$ /Testboard/arcade_score [R,L]

(3) Dein Rewrite ist unvollständig, oder? Sollte da nicht als Ersetzung was mit arcade_score.php?act=Arcade&do=newscore stehen?

(4) Was ist mir anderen Aufrufen? Gibt es andere Parameter für act und do? Was ist dann? Die RewriteRule greift dann nicht. Möchtest Du das vielleicht allgemeingültiger gestalten? Sowas geht.

(5) Warum machst Du einen Redirect? Das ist das R in den eckigen Klammern. Der Browser bekommt dann die Umleitung mit. Das kann Absicht sein. Ist es Absicht? Ohne das R ruft der Browser die alte Adresse auf und merkt nichts davon, dass er intern umgeleitet wurde.

Rolf

--
sumpsi - posui - obstruxi