CCE: Mod_Rewrite und Virtual Hosts ( Apache 1.3x )

Hi,

ich arbeite schon seit Ewigkeiten mit mod_rewrite - Anweisungen in .htaccess - Dateien. Jetzt habe ich das erste Mal versucht das Gleiche über die httpd.conf zu erreichen, also die gleichen Anweisungen in die VirtualHost-Definitionen zu packen und es klappt einfach nicht. Der Apache tut so, als wären keine Anweisungen vorhanden. Es gibt keine Fehlermeldungen und auch das rewrite.log bleibt leer. Hat jemand von euch eine Idee? Da ich genau die gleichen Anweisungen nutze, muss es ja quasi ein klassischer Fehler sein, aber ich habe im Rewrite Guide nichts gefunden.

Gruss
CCE

  1. Moin!

    ich arbeite schon seit Ewigkeiten mit mod_rewrite - Anweisungen in .htaccess - Dateien. Jetzt habe ich das erste Mal versucht das Gleiche über die httpd.conf zu erreichen, also die gleichen Anweisungen in die VirtualHost-Definitionen zu packen und es klappt einfach nicht. Der Apache tut so, als wären keine Anweisungen vorhanden. Es gibt keine Fehlermeldungen und auch das rewrite.log bleibt leer. Hat jemand von euch eine Idee? Da ich genau die gleichen Anweisungen nutze, muss es ja quasi ein klassischer Fehler sein, aber ich habe im Rewrite Guide nichts gefunden.

    Die zu stellende Frage ist: In welchem Verzeichnis ist die .htaccess, und welche Anweisungen stehen jetzt in der httpd.conf?

    Ich vermute einen Pfad-Trouble.

    - Sven Rautenberg

    --
    Die SelfHTML-Developer sagen Dankeschön für aktuell 21205,05 Euro Spendengelder!
    1. Die zu stellende Frage ist: In welchem Verzeichnis ist die .htaccess, und welche Anweisungen stehen jetzt in der httpd.conf?

      Ich vermute einen Pfad-Trouble.

      Hallo,

      zum Testen habe ich die simpelste Form genommen. Eine .htaccess mit folgendem Inhalt liegt im DocumentRoot:

      RewriteEngine On
      RewriteRule ^test.htm$ index.htm

      Der Zugriff auf test.htm wird wie vorgesehen auf index.htm umgeschrieben. Lösche ich die .htaccess und setze die gleichen Zeilen in die VirtualHost - Konfiguration direkt unter DocumentRoot, tut sich gar nichts.

      Gruss
      CCE

      1. Moin!

        RewriteEngine On
        RewriteRule ^test.htm$ index.htm

        Der Zugriff auf test.htm wird wie vorgesehen auf index.htm umgeschrieben. Lösche ich die .htaccess und setze die gleichen Zeilen in die VirtualHost - Konfiguration direkt unter DocumentRoot, tut sich gar nichts.

        Was logisch ist, weil dein regulärer Ausdruck nicht matcht.

        Wenn die URL "http://www.example.com/test.htm" angefordert wird, mußt du im Regex auf den führenden Schrägstrich mittesten:

        RewriteRule ^/test.htm$ /index.htm

        Wenn du dir die zahlreichen Beispiele in der mod_rewrite-Doku und im RewriteGuide ansiehst, dann wäre dir das vielleicht aufgefallen. :)

        - Sven Rautenberg

        --
        Die SelfHTML-Developer sagen Dankeschön für aktuell 21205,05 Euro Spendengelder!
        1. Was logisch ist, weil dein regulärer Ausdruck nicht matcht.

          Wenn die URL "http://www.example.com/test.htm" angefordert wird, mußt du im Regex auf den führenden Schrägstrich mittesten:

          RewriteRule ^/test.htm$ /index.htm

          Hallo,

          peinlich, stimmt jetzt klappts. Ist ja auch logisch, habe ich nur überhaupt nicht drüber nachgedacht, weil ich einfach die alten Anweisungen übertragen habe. Aber die httpd.conf setzt ja viel früher an. Vielen dank für deine Hilfe.

          Gruss
          CCE