mod rewrite unter Apache 2

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mod rewrite unter Apache 2

    Hallo,

    hab gestern und heute mal euer Forum durchsucht und einiges an Problemlösungen probiert - leider ohne Erfolg.

    Bei mir geht es um folgendes Rewrite Problem. Die Darstellung der URL möchte ich in einer Ordner-Struktur haben.

    domain.de/de/seite1/seite2/usw/

    Verarbeitet werden soll das Ganze in der index.php im Hauptverzeichnis. Darüber hinaus wird der user zu Beginn des Aufrufes von domain.de umgeleitet auf domain.de/de/

    Das ganze hat auf meinem alten Server auch funktioniert - ohne Probleme. Verwendet wurde dabei der folgende rewrite Befehl in der .htaccess:

    RewriteEngine on
    RewriteCond /%{REQUEST_FILENAME} !-f
    RewriteRule ^(.+) http://www.domain.de/


    Seit vorgestern habe ich nun einen anderen Server (Apache 2). Da funktioniert dieser Befehl rein gar nicht. Stattdessen wird die Seite immer und immer wieder neu geladen - sprich eine Endlosschleife wohin gehend der Firefox natürlich unterbricht und die übliche Fehlermeldung ausspuckt.

    Ich habe inzwischen auch schon etwas gefunden, wo zumindest kein Fehler ausgespuckt wird und die Seite angezeigt wird. Allerdings wird der User beim Aufruf der Startseite nie auf domain.de/de/ umgeleitet. Stattdessen bleibt es bei der domain.de/
    Wenn ich nun auf einen Link klicke (zB domain.de/de/seite1) dann funktioniert wieder rein garnichts. Es wird nur ausgegeben, dass die angeforderte Seite nicht gefunden wurde :/

    So langsam bin ich ratlos, zumal ich von diesen Rewrite Befehlen auch keinerlei Ahnung habe. Und das Fachchinesisch bzw. -englisch auf der Apache Seite verstehe ich nicht so wirklich.

    Ich hoffe, dass ihr mir irgendwie helfen könnt.



    Vielleicht ncoh eine kurze Info:
    In meiner index.php wird die URL umgeschrieben, dass die Variable 1 (domain.de/DE/) der Sprache entspricht und alle weiteren in einem Array gespeichert werden.
    Ich weiß, dass es doch auch rewrite methoden gibt, aber die php variante gefällt mir besser.


    Vielen Dank schon mal im Voraus für eure Mühe
    Gruß Marcus

  • #2
    http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
    http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

    Kommentar


    • #3
      danke für die links. bei apache.org hatte ich bereits gesucht
      gibts auf dieser welt nich irgendwo ne dt. beschreibung dazu?

      ich finde das thema rewrite an sich schon rel. schwer verständlich, aber das ganze noch zu übersetzen :P

      Kommentar


      • #4
        hallo noch mal,

        ich hab mich nun weitere 2 Stunden mit der apache.org auseinander gesetzt. Ich bin nun auch soweit, dass ich zumindest die Startseite funktioniert. D.h. beim aufrufen von domain.de, wird diese auch angezeigt - keine endlosschleife mehr

        wenn ich allerdings einen link anklicke und er die seite
        domain.de/de/seite1
        aufruft, dann erscheint der fehler

        Forbidden
        You don't have permission to access /de/seite1 on this server.
        Apache/2.2.3 Server at domain.de Port 80


        ich hab wirklich keine ahnung mehr, was man da noch ändern kann :/

        Die folgenden rewrite rules habe ich bereits probiert:

        RewriteEngine on
        RewriteCond %{REQUEST_URI} !-U
        RewriteRule /(.*) index.php

        RewriteEngine on
        RewriteCond %{REQUEST_URI} !-U
        RewriteRule ^(.+)/ index.php

        RewriteEngine on
        RewriteCond %{REQUEST_URI} !-U
        RewriteRule ^(.+) http://www.domain.de

        RewriteEngine on
        RewriteCond /%{REQUEST_FILENAME} !-f
        RewriteRule ^([^./]+)\ index.php


        Bei der letzten Regel kommt folgende Fehlermeldung, beim Klicken auf einen Link (Startseite funktioniert wie gehabt)

        Not Found
        The requested URL /de/webdesign was not found on this server.
        Apache/2.2.3 Server at domain.de Port 80

        Kommentar

        Lädt...
        X