Wagner Mathias: mod_rewrite und /

Hallo

laut diversen Tutorials sollte das
RewriteRule ^(bla)/(blub).htm$ index.php?zone=$1&section=$2 [L]
möglich sein. Ein Link der so aussieht
bla/blub.hrm
erzeugt aber einen 404.
Wenn ich es so mache
RewriteRule ^(bla)-(blub).htm$ index.php?zone=$1&section=$2 [L]
dann funktioniert
bla-blub.hrm
Ich habe bereits probiert den / mit / zu escapen. Hat aber nix gebracht. Bin ich jetzt generell auf dem Holzweg oder behindert mich ein Brett vorm Kopf? Einen Generator habe ich auch noch ausprobiert. Laut dem müsste meine Idee eigentlich richtig sein:
http://www.webmaster-toolkit.com/mod_rewrite-rewriterule-generator.shtml?url=http%3A%2F%2Fwww.test.de%2Ftest.php%3Fdo%3Dtreu&style=1&page_name=test

  1. RewriteRule ^(bla)-(blub).htm$ index.php?zone=$1&section=$2 [L]

    ^^^^
    wo steht, das du da den punkt quoten sollst?
    mehr info gibts im rewrite-log

    1. hallo,

      mehr info gibts im rewrite-log

      Und ganz nutzlos sollte ein Blick in SELFHTML auch nicht sein.

      Grüße aus Berlin

      Christoph S.

      1. Ich schau natürlich auch in die Doku. Aber das hilft mir nicht so recht weiter. Das Problem habe ich aber etwas eingegrenzt:

        Das ist eine Regel

        RewriteRule ^(apotheke).htm$ index.php?zone=$1 [L]
        Die ersetzt das auch ganz schön und ein Aufruf von
        apotheke.htm macht auch das was er soll.
        In der HTML-Ausgabe ist dann aber ein CSS Verweis der so aussieht:
        <link rel="stylesheet" href="apotheke.css" type="text/css" />
        Jetzt macht mir der Apache aus welchem Grund auch immer aus dem apotheke.css einen Ordner und schreibt dann ins Fehlerlog
        File does not exist: e:/www/kunden/hdg/apotheke.css/
        Das weiß ich auch. Nur hab ich nirgends gesagt, dass das umgeformt werden soll. Kann man das abstellen?

        1. File does not exist: e:/www/kunden/hdg/apotheke.css/
          Das weiß ich auch. Nur hab ich nirgends gesagt, dass das umgeformt werden soll. Kann man das abstellen?

          Du soltest dir nochmal die Doku zum Apache reinziehen.
          Der Apache sucht in diesem Pfad nach der Datei. irgendwo muss die ja im Filesystem vorhanden sein. und wenn die da nicht ist, kommt ne Fehlermeldung.

          Oder glaubst, du, dein Apache braucht keine Festplatte, um Dateien zu lesen und an den Browser zu senden?

  2. So ich hab das Projekt jetzt umkopiert un einen zweiten Ordner (einfach hdg2) und dann gehts. Strange. Keine Ahnung an was das jetzt gelegen hat.