Probleme mit Sonderzeichen und .htaccess-Datei?

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

  • Probleme mit Sonderzeichen und .htaccess-Datei?

    Hallo,

    meine .htaccess-Datei sieht momentan so aus:
    Code:
    AddDefaultCharset utf-8
    AddCharset utf-8 .php
    AddCharset utf-8 .css
    
    RewriteEngine on
    RewriteRule ^rechnung/Rechnung-(.+)-(.+).pdf$ acp/files/bills/Rechnung-$1-$2.pdf
    RewriteRule ^([-a-zäüöA-ZÄÜÖ0-9_/%\+]*)$ /index.php?url=$1
    Ich hatte nun versucht alle Sonderzeichen per .htaccess zu berücksichtigen, wenn diese in einer Url vorkommt und habe die Datei dann so geändert:

    Code:
    AddDefaultCharset utf-8
    AddCharset utf-8 .php
    AddCharset utf-8 .css
    
    RewriteEngine on
    RewriteRule ^rechnung/Rechnung-(.+)-(.+).pdf$ acp/files/bills/Rechnung-$1-$2.pdf
    RewriteRule ^(.*)$ /index.php?url=$1
    Damit geht dann allerdings gar nix mehr.
    Ich möchte quasi das zB. Leerzeichen in der Url dann so dargstellt werden:
    domain.com/Cape+Coral und nicht so: domain.com/Cape%20Coral

    Was tun ???
    Danke & Gruß Dirk
    RePricing | Preisoptimierung für Ebay & Amazon

  • #2
    Hallo,

    Sonderzeichen in URLs kommen immer als %xx an.

    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]

    Kommentar


    • #3
      Warum übergibst du die URL als GET-Parameter? PHP kann doch direkt auf die URL zugreifen.

      Folgendes sollte eigentlich reichen:

      RewriteRule ^(.*)$ /index.php

      Kommentar


      • #4
        Ja schon, aber dann funktioniert der Link nicht mehr und das ist ja mein Problem:

        Beispiel:

        mit Ergebnis:
        Ferienwohnung Cape Coral & Ferienhaus Cape Coral | Ferienwohnungen Ferienhäuser!
        ohne Ergebnis - quasi der Fehler:
        http://www.ferienwohnungen-ferienhae...m/Cape%20Coral

        Hier siehts man deutlicher:
        Ferienwohnung Afrika & Ferienhaus | Ferienwohnungen Ferienhäuser!
        die 2 Links neben "Mauritius"

        Gruß Dirk
        RePricing | Preisoptimierung für Ebay & Amazon

        Kommentar


        • #5
          Zitat von h3ll Beitrag anzeigen
          Warum übergibst du die URL als GET-Parameter? PHP kann doch direkt auf die URL zugreifen.

          Folgendes sollte eigentlich reichen:

          RewriteRule ^(.*)$ /index.php
          Wenn ich es so mache, dann bekomme ich leider nur noch eine 500er Fehlermeldung - die Webseite funktioniert dann gar nicht mehr
          Muß dazu sagen, dass ich mich mit .htaccess üerhaupt nicht auskenne und fals sich ein Profi hier finden läst, der mein Problem mit Sonderzeichen lösen könnte, könnte ich mich auch erkenntlich zeigen
          Zuletzt geändert von japsa; 24.09.2009, 14:56.
          RePricing | Preisoptimierung für Ebay & Amazon

          Kommentar


          • #6
            Zitat von japsa Beitrag anzeigen
            Ich möchte quasi das zB. Leerzeichen in der Url dann so dargstellt werden:
            domain.com/Cape+Coral und nicht so: domain.com/Cape%20Coral
            Wie es dargestellt wird, d. h. wie du den Link erzeugst, hat doch nichts mit der .htaccess zu tun, sondern liegt einzig und allein an dem Skript, welches den Link erzeugt. Wenn du dort ein + statt eines %20 haben willst, dann musst du den Link auch so generieren. (http://de.php.net/manual/en/function.urlencode.php)
            [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]

            Kommentar


            • #7
              Das Problem ist ja, wenn ein Kunde zB. einen Ort einträgt, welcher aus zwei Wörtern besteht, dann gibt er es so auch in die DB ein wie zB: "Roches Noires"
              Der Ort wird dann quasi aus der DB ausgelesen und an die Url hinten drann gehängt - damit überhaupt eine Url draus wird, wie zb. hier zu sehen:

              http://www.ferienwohnungen-ferienhae...+am+Koenigssee
              (Ich hab jetzt mal aus: %20 ein + gemacht, damit der Link funktioniert)

              Gruß Dirk
              Zuletzt geändert von japsa; 24.09.2009, 15:12.
              RePricing | Preisoptimierung für Ebay & Amazon

              Kommentar


              • #8
                PHP: rawurlencode - Manual

                Kommentar


                • #9
                  Zitat von japsa Beitrag anzeigen
                  Das Problem ist ja, wenn ein Kunde zB. einen Ort einträgt, welcher aus zwei Wörtern besteht, dann gibt er es so auch in die DB ein wie zB: "Roches Noires"
                  Dass du mich nicht verstehst, heißt nicht, dass ich dich nicht verstanden hätte.

                  Dann musst du es, statt es einfach so anzuhängen, mit urlencode behandelt anhängen.
                  [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]

                  Kommentar


                  • #10
                    Das hilft nicht, der macht ja wieder %20 draus.
                    [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]

                    Kommentar


                    • #11
                      Zitat von japsa Beitrag anzeigen
                      Ich möchte quasi das zB. Leerzeichen in der Url dann so dargstellt werden:
                      domain.com/Cape+Coral und nicht so: domain.com/Cape%20Coral
                      Und wie kommst du auf die Idee, dass mod_rewrite irgendwas damit zu tun hätte?

                      Die Links stehen im Quelltext deiner Seite, da hat mod_rewrite nichts mit zu tun.
                      Wenn du willst, dass da ein Leerzeichen als + kodiert wird, dann sorge dafür, bei der Ausgabe der Links.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Und wie kommst du auf die Idee, dass mod_rewrite irgendwas damit zu tun hätte?
                        Ich habe nie gesagt, dass das mit "mod_rewrite" etwa szu tun hätte - ich habe geschrieben, dass ich mich mit .htaccess absolut nicht auskenne und dachte (!) nur, dass ich damit eine Lösung herbei führen könnte!

                        Die Links stehen im Quelltext deiner Seite, da hat mod_rewrite nichts mit zu tun.
                        Das ist mir so durchaus auch bewußt!


                        Wenn du willst, dass da ein Leerzeichen als + kodiert wird, dann sorge dafür, bei der Ausgabe der Links.
                        Ja würde ich ja gerne aber wie?
                        Der Code, welcher zb. so einen Link generiert sieht exakt so aus:

                        <a title="{$unt.Ort}" href="{$config.domain}/{$unt.Ort}">{$unt.Ort}</a>
                        "$unt.Ort" ist genau der Teil, der aus der DB gezogen wird und wennd er Kunde dort einen Ort bestehen aus zwei Wörtern eingibt, dann wird dieser auch so wieder ausgegeben - wie soll ich dann bitte hier die Ausgabe kodieren können ????

                        Ich brauche keine "vorlauten Ratschläge" sondern eine konkrete Hilfestellung !
                        Danke & Gruß Dirk
                        RePricing | Preisoptimierung für Ebay & Amazon

                        Kommentar


                        • #13
                          Hallo Dirk,

                          in welcher Programmiersprache machst du das?

                          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]

                          Kommentar


                          • #14
                            Das Script baut auf "Smarty" (Teamplatsystem) auf und der Code hier:

                            <a title="{$unt.Ort}" href="{$config.domain}/{$unt.Ort}">{$unt.Ort}</a>
                            stamt aus einer Teamplatdatei (.tpl).
                            Trotzdem ist mir schleierhaft, wie ich etwas der DB codieren soll, was direkt aus der DB so gezogen wird bzw. wie ich bei einem Eintrag aus der DB, der aus zwei Wörtern besteht da zwischenrein ein "+" bekommen soll - damit es funktioniert.

                            Gruß Dirk
                            RePricing | Preisoptimierung für Ebay & Amazon

                            Kommentar


                            • #15
                              Zitat von japsa Beitrag anzeigen
                              Das Script baut auf "Smarty" (Teamplatsystem) auf
                              Das hättest du aber auch eher sagen können. Wenn du dein Problem derart unzureichend beschreibst, ist es völlig logisch, dass hier alle aneinander vorbeireden und du der Meinung bist, nur "vorlaute Ratschläge" zu erhalten, was definitiv nicht stimmt. Vorlaut warst nur du.

                              PHP-Code:
                              <a title="{$unt.Ort}href="{$config.domain}/{$unt.Ort|escape:"url"}">{$unt.Ort}</a
                              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]

                              Kommentar

                              Lädt...
                              X