Sonderzeichen in der URL

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

  • Sonderzeichen in der URL

    Ich mußte mir jetzt ein neuen Apache als localhost installieren, aber irgendwas stimmt da noch nicht.


    /martinaohnesonderzeichen

    wird in der URL gefunden, aber bei

    /martin%E4
    (martinä, ein Beispiel mit ä)

    kommt Error 403.


    Also online und auf meinem alten localhost hat alles funktioniert.

    Weiß zufällig jemand was bei der Einstellung vom Apache oder PHP nocht nicht ganz stimmt?
    Gut geraten ist halb gewußt.

  • #2
    Zitat von martinm79 Beitrag anzeigen
    Ich mußte mir jetzt ein neuen Apache als localhost installieren, aber irgendwas stimmt da noch nicht.


    /martinaohnesonderzeichen

    wird in der URL gefunden, aber bei

    /martin%E4
    (martinä, ein Beispiel mit ä)

    kommt Error 403.
    Weil es nicht martin%E4 sondern martin%C3%A4 heißen muss.

    URLs werden in der Regel in UTF-8 geschrieben und der HEX-Code für ä lautet 0xC3A4.
    Zuletzt geändert von h3ll; 03.06.2009, 20:34.

    Kommentar


    • #3
      Aha.

      Na man codiert ja einen String mit urlencode() und online (Linux) und bei meinen alten localhost (Windows) funktionierte es ja auch.


      Wie kann ich denn den neuen Apache konfigurieren, das er mit dem Zeichensatz funktioniert?


      Irgendwas (Apache / php) muß momentan ja nicht richtig eingestellt sein. :/
      Zuletzt geändert von martinm79; 03.06.2009, 21:08.
      Gut geraten ist halb gewußt.

      Kommentar


      • #4
        Nein, es funktioniert alles richtig. Du verwendest einfach nur den falschen Zeichensatz.

        Einige Server akzeptieren gnädigerweise auch andere Zeichensätze als UTF-8, aber du kannst nicht fix davon ausgehen.

        PHP-Code:
        <?php

        echo urlencode('ä');
        // %C3%A4

        ?>
        Zuletzt geändert von h3ll; 03.06.2009, 21:33.

        Kommentar


        • #5
          %C3%A4

          spingt sofort auf ä



          Ich muß dazu sagen, ich hatte mir den Apache 2.2 installiert.


          Es muß doch eine Lösung geben, wo

          ä

          %E4

          und

          %C3%A4

          geht. Bei anderen Seiten geht es ja auch.


          Wenn ich das jetzt nicht hinbekomme, muß ich den ganzen localhost deinstallieren. Dann nehme ich den Apache 1.xx und meine alte config
          Gut geraten ist halb gewußt.

          Kommentar


          • #6
            Wenn du Apache nicht selbst konfigurieren kannst dann nimm doch XAMPP. Ansonstens post mal httpd.conf.

            Kommentar


            • #7
              Ich habe meine alte entwicklungsumgebung ja auch selbst konfiguriert und es lief wunderbar. Und wenn ich es selber mache, lerne ich dazu was bei Xampp nicht der fall ist.

              Momentan läuft ja auch alles, aber ich schätze das es an dem Apache 2.2 liegt, das da ein Modul oder so geändert wurde. Anders kann ich mir das nicht erklären.




              Die aktuelle config ist im Anhang.
              Angehängte Dateien
              Gut geraten ist halb gewußt.

              Kommentar


              • #8
                Poste mal die beiden Dateien:

                Include conf/extra/httpd-languages.conf

                Include conf/extra/httpd-default.conf

                Kommentar


                • #9
                  Habe ich mal in txt umbenannt.
                  Angehängte Dateien
                  Gut geraten ist halb gewußt.

                  Kommentar


                  • #10
                    Und das steht denn immer in der Error Log vom Apache


                    [Thu Jun 04 01:47:39 2009] [error] [client 127.0.0.1] (22)Invalid argument: Cannot map GET /xxx/public_html/people/martin%E4 HTTP/1.1 to file, referer: http://localhost/xxx/public_html/


                    Sämtliche Aufrufe ohne ö ä ü funktionieren.
                    Gut geraten ist halb gewußt.

                    Kommentar


                    • #11
                      Zitat von martinm79 Beitrag anzeigen
                      %C3%A4

                      spingt sofort auf ä
                      Was in der Adresszeile "springt", ist uninteressant.

                      Wie lautet der genaue Request, der an den Server geschickt wird, und was sagt das Log zu diesem Request?
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Wenn ich in der URL

                        public_html/people/martin%C3%A4

                        eingebe, springt die URL automatisch auf

                        public_html/people/martinä



                        Dabei wird kein Eintrag in der Error Log gemacht.
                        In der Access Log steht dann:

                        127.0.0.1 - - [04/Jun/2009:02:43:38 +0200] "GET /xxx/public_html/people/martin%C3%A4 HTTP/1.1" 200 3161




                        Ich versteh nicht warum martin%C3%A4 funktioniert aber nicht martin%E4. Sonderzeichen sind doch in beiden Aufrufen drinne.
                        Gut geraten ist halb gewußt.

                        Kommentar


                        • #13
                          Zitat von martinm79 Beitrag anzeigen
                          Wenn ich in der URL

                          public_html/people/martin%C3%A4

                          eingebe, springt die URL automatisch auf

                          public_html/people/martinä
                          Wie ich schon sagte, reichlich uninteressant, was da wo "springt".
                          Dabei wird kein Eintrag in der Error Log gemacht.
                          In der Access Log steht dann:

                          127.0.0.1 - - [04/Jun/2009:02:43:38 +0200] "GET /xxx/public_html/people/martin%C3%A4 HTTP/1.1" 200 3161
                          D.h. also, damit funktioniert es ...?
                          Ich versteh nicht warum martin%C3%A4 funktioniert aber nicht martin%E4. Sonderzeichen sind doch in beiden Aufrufen drinne.
                          http://www.apachefriends.org/f/viewt...133951#p133951

                          (Ob das so in der Einfachheit als Erklärung allgemeingültig ist, weiss ich nicht. Ich denke, die vom Dateisystem verwendete Zeichenkodierung dürfte aber eine Rolle spielen.)
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            Auf meinem alten PC war aber auch Windows drauf mit XP und da lief das ganze Projekt unter Apache wunderbar.

                            Ich mag keine Fragen auf die ich keine Antwort finde.
                            Gut geraten ist halb gewußt.

                            Kommentar


                            • #15
                              D.h. also, damit funktioniert es ...?
                              ja.

                              Aber siehe mein Posting zuvor.

                              Ich weiß jetzt nur nicht ob das nur an dem Apache 2.2 liegt oder an etwas anderem.


                              Kann ich den Zeichensatz für die url definieren?
                              Falls ja, wie?
                              Gut geraten ist halb gewußt.

                              Kommentar

                              Lädt...
                              X