Manu: Mod-Rewrite: lokal funktionierts, online nicht

Hallo zusammen,

ich habe da ein merkwürdiges Problem mit meinen Rewrite-Regeln: Lokal unter xampp funktioniert alles wie geplant, aber nach dem Hochladen auf mehrere Testdomains bei meinem Provider all-inkl.com klappt fast nichts. Fast - denn ich bekomme keine Fehlermeldung, sondern einfach keine Parameter ($_GET ist leer) übermittelt, bleibe aber 'auf' meiner Datei.

Geplant ist, einen URL wie http://meinedomain.de/test/Kategorie1/Kategorie2
auf
http://meinedomain.de/test.php?cat[]=Kategorie1&cat[]=Kategorie2 umzuschreiben.

Wie gesagt, irgendwie 'bleibe' ich aber auf http://meinedomain.de/test.php. Ich bin wirklich überfragt...:(

Andere Projekte laufen dort übrigens ohne Probleme mit Rewrite-Regeln, allerdings habe ich eine Struktur mit Slashes dort noch nicht verwirklicht.

Mein Code:

Options -Indexes

AddType application/x-httpd-php .htm .html

REWRITE

RewriteEngine on

BROWSE CATEGORY

RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^./]+)/([^./]+)/([^./]+)/([^./]+)/([^./]+)/$ $1.php?cat[]=$2&cat[]=$3&cat[]=$4&cat[]=$5 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^./]+)/([^./]+)/([^./]+)/([^./]+)/$ $1.php?cat[]=$2&cat[]=$3&cat[]=$4 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^./]+)/([^./]+)/([^./]+)/$ $1.php?cat[]=$2&cat[]=$3 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^./]+)/([^./]+)/$ $1.php?cat[]=$2 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^./]+)/$ $1.php [QSA,L]

MAIN FILES

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]*).(htm|html)$ /$1.php [QSA,L]

Ich schmeiß ne Kiste Bier für denjenigen, der mir einen Tipp gibt, wie ich das zum Laufen bekomme...

Gruß,
Manu

  1. Hat denn keiner eine Idee?

    Gruß,
    Manu

    1. Hellihello

      Hat denn keiner eine Idee?

      Doch: dass Du da in meinen Augen eine Menge überflüssiges stehen hast. Es lag mir schon auf der Zunge, das im ersten Lesen zu schreiben, dachte aber, vielleicht kommmt ja doch einer, der es trotz der Menge kapiert. Dampf Dein Problem doch erstmal auf eine Zeile ein. Diese Haufen von scheinbar redundanten RegEx brauchst Du doch für die Fehlersuche nicht, oder?

      Dank und Gruß,

      frankx

      --
      tryin to multitain  - Globus = Planet != Welt
      1. Hallo frankx und danke für deine Antwort!

        Also ich habe das Ganze jetzt zig Mal umgestellt, aber es will einfach nicht. Mein Provider all-inkl.com sagt halt lapidar, dass das nicht sein Problem sei. Dort läuft Apache 2.2.6, hier läuft 2.2.4.

        Ziel ist, dass folgender URL
        www.meinedomain.de/index/Betriebssysteme/WindowsXP/
        umgeschrieben wird zu
        www.meinedomain.de/index.php?cat[]=Betriebssysteme&cat[]=WindowsXP

        (Gna, ich sehe gerade, habe im ersten Posting das abschließende / vergessen)

        ich kürze hier mal alles so zusammen, dass nur noch eine Zeile übrig bleibt (so hab ichs auch online gemacht - wie gesagt, ohne Erfolg).

        wie oben:
        RewriteRule ^([^./]+)/([^./]+)/([^./]+)/$ $1.php?cat[]=$2&cat[]=$3 [QSA,L]

        geändert zu
        RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ $1.php?cat[]=$2&cat[]=$3 [QSA,L]

        auch probiert
        RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ $1.php?cat[]=$2&cat[]=$3 [QSA,L]

        und das klappte auch nicht
        RewriteRule ^(.+)/(.+)/(.+)/$ $1.php?cat[]=$2&cat[]=$3 [QSA,L]

        Alles was ich jetzt hier umgeschrieben hatte führt immer nur zu
        www.meinedomain.de/index.php

        Ich bin ziemlich verzweifelt, da ich schon einige Monate an dem Projekt arbeite und langsam den Eindruck habe, es so nicht realisieren zu können :(

        Manu

        1. Hellihello

          Hallo frankx und danke für deine Antwort!

          Also ich habe das Ganze jetzt zig Mal umgestellt, aber es will einfach nicht. Mein Provider all-inkl.com sagt halt lapidar, dass das nicht sein Problem sei. Dort läuft Apache 2.2.6, hier läuft 2.2.4.

          Ziel ist, dass folgender URL
          www.meinedomain.de/index/Betriebssysteme/WindowsXP/
          umgeschrieben wird zu
          www.meinedomain.de/index.php?cat[]=Betriebssysteme&cat[]=WindowsXP

          (Gna, ich sehe gerade, habe im ersten Posting das abschließende / vergessen)

          ich kürze hier mal alles so zusammen, dass nur noch eine Zeile übrig bleibt (so hab ichs auch online gemacht - wie gesagt, ohne Erfolg).

          wie oben:
          RewriteRule ^([^./]+)/([^./]+)/([^./]+)/$ $1.php?cat[]=$2&cat[]=$3 [QSA,L]

          geändert zu
          RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ $1.php?cat[]=$2&cat[]=$3 [QSA,L]

          auch probiert
          RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ $1.php?cat[]=$2&cat[]=$3 [QSA,L]

          und das klappte auch nicht
          RewriteRule ^(.+)/(.+)/(.+)/$ $1.php?cat[]=$2&cat[]=$3 [QSA,L]

          Warum fängst Du nicht mal so an

          RewriteRule www.meinedomain.de/index.php /www.meinedomain.de/index.php?a=b [L]

          Ich weiß nicht, ob die o.g. Syntax von mir o.k. ist, der Ansatz zur Fehlersuche aber vermutlich nicht ganz so falsch. Mein Tipp zudem: es liegt _nicht_ am Provider, es liegt an Deinen RegExpressions.

          Dank und Gruß,

          frankx

          --
          tryin to multitain  - Globus = Planet != Welt
          1. Hellihello

            RewriteRule www.meinedomain.de/index.php /www.meinedomain.de/index.php?a=b [L]

            Ich weiß nicht, ob die o.g. Syntax von mir o.k. ist, der Ansatz zur Fehlersuche aber vermutlich nicht ganz so falsch. Mein Tipp zudem: es liegt _nicht_ am Provider, es liegt an Deinen RegExpressions.

            Und:

            RewriteEngine on
            RewriteRule (.*)index.php index1.php?var=$1

            http://de.selfhtml.org/servercgi/server/rewrite.htm

            triffts vielleicht besser. Und mach die RewriteEngine an.

            Dank und Gruß,

            frankx

            --
            tryin to multitain  - Globus = Planet != Welt
            1. Danke für Deine Antwort, aber zu Deinen Tipps: sorry, nicht besonders hilfreich.

              Ist nicht das erste mal, dass ich mit Mod-Rewrite zu tun habe.
              Zudem: es läuft auf Apache 2.2.4, beim Provider nicht (Apache 2.2.6).

              Andere Regeln laufen, aber keine (bisher), wo ich eine verzeichnisähnliche Struktur (mit Slashes getrennt) benutzen will.

              Ich brauche natürlich eine Regel, die meinen Anforderungen gerecht wird.

              Da ich jetzt quasi eine ganze Menge Kram durch habe, liegt der Verdacht nahe, dass das Problem beim Provider liegt. Ist schließlich nicht das erste Mal...

              Was da querschießt, ist die Frage.

              Gruß,
              Manu

              1. Hellihello

                Danke für Deine Antwort, aber zu Deinen Tipps: sorry, nicht besonders hilfreich.

                Ist nicht das erste mal, dass ich mit Mod-Rewrite zu tun habe.
                Zudem: es läuft auf Apache 2.2.4, beim Provider nicht (Apache 2.2.6).

                Andere Regeln laufen, aber keine (bisher), wo ich eine verzeichnisähnliche Struktur (mit Slashes getrennt) benutzen will.

                Ich brauche natürlich eine Regel, die meinen Anforderungen gerecht wird.

                Da ich jetzt quasi eine ganze Menge Kram durch habe, liegt der Verdacht nahe, dass das Problem beim Provider liegt. Ist schließlich nicht das erste Mal...

                Was da querschießt, ist die Frage.

                Nun ja, war ja nur so ein Tipp, weil Du Dich gewundert hast, dass niemand antwortet. Hättest Du Schritt eins hinbekommen, wäre Schritt zwei gefolgt.

                Dank und Gruß,

                frankx

                --
                tryin to multitain  - Globus = Planet != Welt
                1. Ja, find ich ja auch nett, aber leider nicht hilfreich...

                  Schritt 1? Schritt 2?

                  Gruß,
                  Manu

                  1. wow, ich habs herausgefunden - die Regeln waren ok, aber ein Options -MultiViews hat gefehlt.

                    Gruß,
                    Manu