Rewrite Rule ->Regulärer Ausdruck

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

  • Rewrite Rule ->Regulärer Ausdruck

    Hallo Freunde,

    ich häng jetzt schon seit einiger Zeit an einem Problem mit der .htaccess und dem RewriteRule.

    Es soll einfach jede Adresse, die den folgenden Aufbau hat

    http://example.com/index.php?content=regulAusdruck

    zu

    http://example.com/content/index.php?content=regulAusdruck

    umgeleitet werden. Ich bekomm es einfach nicht hin. Hoffentlich kann mir jemand helfen.

    LG
    Zuletzt geändert von AmicaNoctis; 04.01.2012, 11:07.

  • #2
    Hallo,

    bitte für Beispieldomains example.com verwenden!

    Wie sieht denn deine derzeitige .htaccess aus?

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      also derzeit wird alles "statisch" gelöst, was aber wohl nicht sinn und zweck der sache sein kann
      Code:
      RewriteEngine on
      RewriteRule index.php?content=angebote /content/index.php?content=angebote

      Kommentar


      • #4
        Ich hatte dich, freundlich gebeten, die reservierten Besipieldomains zu benutzen. Alles muss man selber machen!

        Wenn du links „(.*)“ statt „angebote“ und rechts „$1“ statt „angebote“ hinschreibst, sollte es funktionieren.

        EDIT: Ach nee, Quatsch! Die query wird ja nicht mit verglichen, also einfach
        Code:
        RewriteRule index.php /content/index.php [QSA]
        Zuletzt geändert von AmicaNoctis; 04.01.2012, 11:10.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          da steckt doch nun aber auch kein regulärer ausdruck drin, so dass jede url der form
          Code:
          http://www.example.com/index.php?content=jedeSeite
          direkt zu:

          Code:
          http://www.example.com/content/index.php?content=jedeSeite
          umgeleitet wird?

          Oder ist [QSA] das Zauberwort?

          Kommentar


          • #6
            Richtig, aber da du dass nicht unmissverständlich klargemacht hast, dass du nur einige solcher Aufrufe umleiten willst, konnte ich das nicht wissen.

            Imho musst du mit einer RewriteCond arbeiten, in der du die Query vergleichst, weil normalerweise nur der Pfad gematcht wird.

            Edit: Hab's grad ausprobiert. Queries kannst du nur mit RewriteCond abgleichen. Beispiel:

            Leitet /foo/ oder /foo auf req.php um, aber nur, wenn die query mit „abc“ oder „def“ anfängt und hängt die gesamte query wieder an:
            Code:
            RewriteEngine On
            RewriteCond %{QUERY_STRING} ^(abc|def)
            RewriteRule foo/? req.php [QSA]
            Zuletzt geändert von AmicaNoctis; 04.01.2012, 11:42.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              puhh...das ja hochkompliziert

              ab wann beginnt denn die querry??
              /edit: alles nach dem Fragezeichen...na mal schauen

              /edit2:

              so müsste es jetzt losgehen, oder?

              RewriteCond %{QUERY_STRING} ^content=([a-z]+)$
              Zuletzt geändert von matcho; 04.01.2012, 12:09.

              Kommentar

              Lädt...
              X