dedlfix: Mod_Rewrite - Wo liegt der Fehler?

Beitrag lesen

echo $begrüßung;

RewriteEngine On
RewriteRule ^/([a-z]+)/([a-z]+).html$ /index.php?kategorie=$1&seite=$2

Wenn ich nun den Auruf "/test/hallo/welt.html" mache, sollte der Server zwar dies in der Adressleiste anzeigen, im Hintergrund allerdings "index.php?kategorie=hallo&seite=welt" aufrufen.
Was in meinem Fall allerdings passiert ist, dass ein Error 404 ausgelöst wird.
Wo liegt der Fehler?

Er ruft nicht index.php auf sondern /index.php, so wie du es ihm gesagt hast. Vermutlich gibt es keine /index.php, deswegen der 404.

Wenn du nun einfach den / rausmachst, kommst du in eine Endlosschleife, da RewriteRule in einer Per-Verzeichnis-Konfiguration einen neuen internen Request auslöst, der seinerseite wieder die Regeln des Verzeichnisses beachtet. Schließe durch zwei RewriteCond-Anweisungen existierende Dateien und Verzeichnisse vom Umschreiben aus.

RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f

echo "$verabschiedung $name";