RewriteRule und Sonderzeichen - Probleme mit % Zeichen

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

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

    Comment


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

      Comment


      • #4
        Originally posted by BananaJo View Post
        Weil ich die Werte danach noch weiter nutze..
        Ja, aber warum übergibst du sie zusätzlich noch als GET-Parameter?

        Originally posted by BananaJo View Post
        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.

        Comment


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

          Comment


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

            Comment


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

              Comment


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

                Comment

                Working...