RewriteRule und Sonderzeichen - Probleme mit % Zeichen

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

  • RewriteRule und Sonderzeichen - Probleme mit % Zeichen

    Hallo,

    ich habe Probeme mit meiner RewriteRule, wenn die URL % Zeichen enthält

    PHP-Code:
    RewriteRule ^([^/]*)/([^/]*)/$ /index.php?show=$1&detail=$[L
    Ich erstelle eine Sitemap, bei der ich die Sonderzeichen in der URL encode, so dass diese % Zeichen enthält und von der XML verarbeitet werden kann.

    Leider bekomme ich die URL dann nicht in meiner RewriteRule verarbeitet.

    Kennt jemand eine Lösung für das Problem?

    Danke in Voraus!

  • #2
    Warum hängst du die Werte als GET-Parameter dazu? PHP kann ja selber auf die aufgerufene URL zugreifen.

    Kommentar


    • #3
      Weil ich die Werte danach noch weiter nutze..

      ich dachte das ist die übliche art das zu lösen. Wie würdest du es denn machen? und was ist daran besser wie du das machen würdest, weil bei mir funktioniert es ja auch so.

      Aber danke!

      Kommentar


      • #4
        Zitat von BananaJo Beitrag anzeigen
        Weil ich die Werte danach noch weiter nutze..
        Ja, aber warum übergibst du sie zusätzlich noch als GET-Parameter?

        Zitat von BananaJo Beitrag anzeigen
        ich dachte das ist die übliche art das zu lösen. Wie würdest du es denn machen?
        Ich würde die Werte einfach aus der URL verwenden.

        Kommentar


        • #5
          achso, ja ok. aber das ist dann ja fast das gleiche.

          leider löst das immer noch nicht mein Problem, wenn die URL ein % Zeichen hat... dann bekomme ich ein "Bad Request" Angezeigt

          Kommentar


          • #6
            Wie lautet die URL und wie sieht die aktuelle htaccess-Datei aus?

            Kommentar


            • #7
              Also die URL ist z.B. so:

              www.website.de/2456/das-ist-der-titel/

              Wenn die URL jetzt Z.B. so aussieht bzw. ein kodiertes Sonderzeichen enthält, dann entsteht der fehler

              www.website.de/2456/das-ist-der-ti%tel/

              so sieht die htaccess aus:
              PHP-Code:
              RewriteEngine on

              RewriteRule 
              ^([^/]*)/$ /index.php?show=$[L]
              RewriteRule ^([^/]*)/([^/]*)/$ /index.php?show=$1&detail=$[L

              Kommentar


              • #8
                1. "www.website.de/2456/das-ist-der-ti%tel/" ist keine gültige URL.

                2. Ich würde die Rewrite-Regeln empfehlen, die auch von Zend empfohlen werden:

                Code:
                RewriteEngine On
                RewriteCond %{REQUEST_FILENAME} -s [OR]
                RewriteCond %{REQUEST_FILENAME} -l [OR]
                RewriteCond %{REQUEST_FILENAME} -d
                RewriteRule ^.*$ - [NC,L]
                RewriteRule ^.*$ index.php [NC,L]
                http://framework.zend.com/manual/1.1...e.rewrite.html

                Kommentar

                Lädt...
                X