*Markus: (Apache) Redirect-Rule will nicht so recht

Hallo,

ich würde gerne folgendes bewerkstelligen:
Bei jeder Datei soll die Dateiendung abgeschnitten werden, d.h. ich will auch so navigieren können.

Bsp:
ich will auf http://server/test navigieren können, aber intern soll es als http://server/test.php interpretiert werden. Ist das mit mod_rewrite überhaupt möglich, oder würde mod_rewrite nur bedeuten, dass auf http://server/test.php umgeleitet wird, sodass im Endeffekt http://server/test.php in der URL-Bar steht?

Wie auch immer. Es scheint in meinem Testverzeichnis überhaupt kein Rewrite zu funktionieren. Die Verzeichnisstruktur sieht so aus:

webroot
    +
    |
    dao-+
    |   |
    |   +-test.html
    |
    test-+
         |
         +-test2.html

Die folgende .htaccess-Datei habe in in webroot platziert:

RewriteEngine On
RewriteRule  ^dao/(.*)$  /test/$1 [R]

Ich wollte versuchen, alles aus dao nach test umzuleiten, aber es passiert gar nichts, wenn ich test.html in dao aufrufe.
mod_rewrite wurde inder httpd.conf auskommentiert, also wird es wahrscheinlich auch geladen.

Wie kann ich v.a. das erste Vorhaben lösen?

Danke,
Markus

  1. Hi,

    ich will auf http://server/test navigieren können, aber intern soll es als http://server/test.php interpretiert werden. Ist das mit mod_rewrite überhaupt möglich,

    Natürlich.

    oder würde mod_rewrite nur bedeuten, dass auf http://server/test.php umgeleitet wird, sodass im Endeffekt http://server/test.php in der URL-Bar steht?

    Nein, umgeleitet wird nur, wenn du explizit dafür sorgst.

    Es scheint in meinem Testverzeichnis überhaupt kein Rewrite zu funktionieren.

    Das kannst du prüfen, in dem du die Syntax mal bewusst verletzt (bspw. innerhalb des Ausdrucks hinter RewriteRule - dann müsste ja ein Fehler erzeugt werden.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. Hallo,

      ich will auf http://server/test navigieren können, aber intern soll es als http://server/test.php interpretiert werden. Ist das mit mod_rewrite überhaupt möglich,

      Natürlich.

      Verrätst du mir auch die Syntax?

      Das kannst du prüfen, in dem du die Syntax mal bewusst verletzt (bspw. innerhalb des Ausdrucks hinter RewriteRule - dann müsste ja ein Fehler erzeugt werden.

      Es passiert leider gar nichts (auch nicht im error_log). Ist das Modul nun doch nicht geladen, oder läuft etwas anderes schief. Falls ja, was?

      Markus.

      1. Hi,

        Verrätst du mir auch die Syntax?

        Ich verrate dir, dass du per Suche sicher leicht Tutorials zum Thema ausfindig machst.

        Das kannst du prüfen, in dem du die Syntax mal bewusst verletzt (bspw. innerhalb des Ausdrucks hinter RewriteRule - dann müsste ja ein Fehler erzeugt werden.

        Es passiert leider gar nichts (auch nicht im error_log). Ist das Modul nun doch nicht geladen, oder läuft etwas anderes schief. Falls ja, was?

        Wo hast du die Konfigurationsanweisungen denn überhaupt untergebracht - .htaccess?

        Wenn ja, werden diese vom Server überhaupt beachtet? (AccessFileName checken.)

        Und wie sieht damit aus, was hinsichtlich des Überschreibens von Direktiven auf Verzeichnisebene erlaubt und was verboten ist?

        Werden
        MfG ChrisB

        --
        Light travels faster than sound - that's why most people appear bright until you hear them speak.
        1. Hallo,

          Wo hast du die Konfigurationsanweisungen denn überhaupt untergebracht - .htaccess?

          Jup.

          Wenn ja, werden diese vom Server überhaupt beachtet? (AccessFileName checken.)

          Stimmt so.

          Und wie sieht damit aus, was hinsichtlich des Überschreibens von Direktiven auf Verzeichnisebene erlaubt und was verboten ist?

          Das war zwar ein heißer Tipp, da AllowOverride auf None war, aber selbst das Setzen auf All führt ebenso zu keiner Reaktion (natürlich nach Server Restart).

          Markus.