Rewrite Rule ->Regulärer Ausdruck

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by AmicaNoctis; 04-01-2012, 10: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]

    Comment


    • #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

      Comment


      • #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]
        Last edited by AmicaNoctis; 04-01-2012, 10: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]

        Comment


        • #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?

          Comment


          • #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]
            Last edited by AmicaNoctis; 04-01-2012, 10: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]

            Comment


            • #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]+)$
              Last edited by matcho; 04-01-2012, 11:09.

              Comment

              Working...
              X