mod rewrite Problem

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

  • mod rewrite Problem

    Hallo,
    habe endlich meine php-Adressen mit mod rewrite in "ordentliche Adressen" umgeschrieben. Allerdings werden jetzt bei übergebenen Parameter Teile abgeschnitten. Und zwar bei Parametern mit 2 oder mehr Begriffen wird nur der erste übergeben.

    Meine htacces sieht so aus:

    RewriteEngine On
    Options +FollowSymlinks
    RewriteRule ^info-([0-9a-zA-Z\-éè]+)-(.+)(\.html?)$ info.php?Ortsuchen=$1&Seite=$2 [L]
    RewriteRule ^info-([0-9a-zA-Z\-éè]+)(\.html?)$ info.php?Ortsuchen=$1& [L]
    RewriteRule ^karte-([0-9a-zA-Z\-éè]+)(\.html?)$ karte.php?Ortsuchen=$1 [L]

    Aus /info-Atlantikkueste-Frankreichs.htm wird /info.php?Ortsuchen=Atlantikkueste. Der Parameter sollte sein "Atlantikkueste-Frankreichs"
    Den Teil "-Frankreichs", der als Parameter auch mit soll ist weg.
    Wie kann ich es anstellen, dass mod rewrite die Parameter in Ruhe lässt??

  • #2
    Hallo worker1530,

    probier mal die folgende .htaccess

    Code:
    RewriteEngine On
    Options +FollowSymlinks
    RewriteRule ^info-(.+)-(.+)(\.html?)$ info.php?Ortsuchen=$1&Seite=$2 [L]
    RewriteRule ^info-(.+)(\.html?)$ info.php?Ortsuchen=$1 [L]
    RewriteRule ^karte-(.+)(\.html?)$ karte.php?Ortsuchen=$1 [L]
    und die folgende Datei info.php

    PHP-Code:
    <?php
    print_r
    ($_REQUEST);
    ?>
    Wie sieht dann die Ausgabe bei Aufruf von

    info-Atlantikkueste-Frankreichs.htm

    aus?

    Kommentar


    • #3
      sieht schon etwas besser aus.
      Als Parameter erhalte ich jetzt "Atlantikkueste Frankreichs".
      Leider entfernt er jetzt aber noch das "-" Zeichen zwischen den 2 Wörtern.

      Kommentar


      • #4
        Hallo worker1530,

        es geschieht also genau das, was in der ersten Regel gesagt wird:

        Wenn es nach "info-" noch einen Bindestrich gibt, nimm das, was
        vor dem letzten Bindestrich steht, als "Ortssuchen" und das,
        was danach steht, als "Seite".

        Die Frage ist also, nach welcher Regel zwischen den beiden Parametern
        "Ortssuchen" und "Seite" unterschieden werden soll.

        Kommentar


        • #5
          Hallo mephisto,
          vielen Dank für Deine Mühe. Du hast ja so recht. mod rewrite konnte bei meiner Anwendung nicht unterscheiden weil ich beide Male das "-" Zeichen hatte. Beim ersten Vorkommen meinte er deshalb dass ab jetzt der Parameter 2 kommt.
          Ich habe jetzt einfach einmal den Unterstrich genommen. Jetzt funktionierts.

          RewriteEngine On
          Options +FollowSymlinks
          RewriteRule ^info-(.+)_(.+)(\.html?)$ info.php?Ortsuchen=$1&Seite=$2 [L]
          RewriteRule ^info-(.+)(\.html?)$ info.php?Ortsuchen=$1 [L]
          RewriteRule ^karte-(.+)(\.html?)$ karte.php?Ortsuchen=$1 [L]

          Danke!

          Kommentar

          Lädt...
          X