theresa: mod_rewrite - Ich steh auf dem Schlauch

Hi Leute,

ich hab immer noch ein Problem mit mod_rewrite.
Meine .htaccess sieht momentan so aus:

RewriteEngine On
RewriteBase /
RewriteRule ^/?kontakt /kontakt/kontakt.php
RewriteRule ^/?agb /kontakt/agb.php
RewriteRule ^/?impressum /kontakt/impressum.php
RewriteRule ^/?anfahrt-lage /allgemein/anfahrt.php
RewriteRule ^/?([a-zA-Z-_]+)/([a-zA-Z-_]+)$ /$1/$2.php [L]

wenn ich den block kontakt - anfahrt-lage weglasse,
funktioniert alles super.
Sobald ich aber die "manuellen" Einträge ergänze,
geht gar nichts mehr.

Was mach ich falsch?!

Danke für jeden Tipp, ich blick nicht mehr durch...

Eure Theresa

  1. Versuchs mal, indem du den Bindestrich escapest. Also anfahrt-lage

    Aber bin mir nicht sicher.

  2. Tach!

    Meine .htaccess sieht momentan so aus:

    Wie sieht die Aufgabenstellung aus, die du damit zu lösen versuchst? Aus den Regeln sehe ich nur, was du notiert hast, kann aber nicht einschätzen, ob das zum Problem passt oder nicht.

    RewriteRule ^/?kontakt /kontakt/kontakt.php

    Steht das Fragezeichen hier für den Quantifizierer "0 oder 1" oder für eine Querystring-Einleitung?

    Was mach ich falsch?!

    RewriteRules werten keinen Querystring aus, weil nicht unterschieden werden kann, ob das ? nun für das eine oder das andere steht. Der Querystring kann lediglich in RewriteConds untersucht werden.

    Wenn du den Slash optional haben möchtest, dann hast du die RewriteRule-Dokumentation nicht gelesen. Der / ist entweder generell da oder generell nicht, je nachdem ob die Regel in der Per-Verzeichnis-Konfiguration (.htaccess) notiert ist oder in der Per-Server-Konfiguration (httpd.conf). Üblicherweise kann man sich auf eine Variante festlegen und muss das nicht flexibel gestalten.

    dedlfix.