dedlfix: mod_rewrite problem

Beitrag lesen

echo $begrüßung;

RewriteRule ^(.*).php$ /home/foo/bar/$1.php?parameter=konstant
                                         ^^
Ich bekomme jedoch immer einen Error 500 (Internal Server Error).

Hast du Zugriff auf das Error-Log? Dort steht genauer, was das Problem ist. Mitunter ist auch noch die Konsultation des RewriteLog (bzw. dessen vorherige Einrichtung) notwendig. So kann man nur raten. Ist /home/foo/bar/ zufälligerweise das Verzeichnis, in dem die .htaccess liegt? Wenn ja, dann hast du eine Endlosschleife gebaut, denn die RewriteRule erzeugt einen neuen internen Request, der ebenfalls von allen .htaccess, die in seinem Weg liegen, behandelt wird. In dem Fall wären mit einer (oder zwei) RewriteCond real existierende Dateien (und Verzeichnisse) von der RewriteRule auszunehmen.

Manchmal hilft auch ein RewriteBase.

Wenn ich statt $1 einen festen Dateinamen eingebe, funktioniert es.

Wobei sich das nicht nach meiner Vermutung anhört. Wie auch immer, ohne Error-Log-Inspektion wirst du nicht weiter kommen, wenn nicht gerade zufälligerweise jemand so ein Problem schonmal hatte.

Was machst du eigentlich mit den \ im Substitution-Teil der RewriteRule? Die sind nur für den regulären Ausdruck erforderlich, und auch da nur für Zeichen mit Sonderbedeutung. / ist kein solches Zeichen.

echo "$verabschiedung $name";