Klammer und Slash aus URL entfernen

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

  • Klammer und Slash aus URL entfernen

    Hi,

    ich habe ein Problem beim mod_rewrite

    Wenn eine meiner URL's so aussieht:

    http://www.meine-domain.de/guide-Mon...ner+(m/w).html

    sieht meine Regel so aus:

    RewriteRule ^guide.html$ index.php?page=guide [L]
    RewriteRule ^guide\-argument\-([^-]+).html$ index.php?page=guide&op=arg&title=$1 [L]
    RewriteRule ^guide\-([^-]+).html$ index.php?page=guide&op=readGuide&title=$1 [L]
    RewriteRule ^guide\-([^-]+)\-([0-9]+).html$ index.php?page=guide&op=readGuide&title=$1&pg=$2 [L]

    Die Regel funktioniert nur, wenn keine Klammer oder / drin ist.
    Wie kann ich es schaffen, dass er nun auch die Klammer und den Slash umschreibt oder ignoriert?

    Gruß Jörn

  • #2
    Die URL richtig schreiben. Ein Slash darf in einem Dateinamen nicht vorkommen.

    Kommentar


    • #3
      kein Slash

      Das kann nicht sein!
      Schau dir mal die URL an, bei der geht es ja auch

      Restaurants und Gastronomie - Beratung für Businesspläne,Gesundheitsausweis,Speisekarten und Existenzgründung

      Jörn

      Kommentar


      • #4
        Dort ist es ein Parameter, da es hinter dem ? steht.
        [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


        • #5
          okay

          Okay, ich verstehe.
          Kann ich den Titel, der mir übergeben wird, so manipulieren, dass er symatisch korrekt als URL dargestellt wird und wenn je, wie?

          Kommentar


          • #6
            Du kannst den Titel durch Suchen und Ersetzen so umformen, dass es als URL syntaktisch korrekt ist.
            [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
              URL Encoding ? Wikipedia

              / entspricht %2F


              Oder mit PHP:

              http://de.php.net/manual/en/function.rawurlencode.php

              Kommentar


              • #8
                <ironie>bei "Montageplaner%20%29m%2fw%29" weiß gleich jeder, was gemeint ist</ironie>

                Ich finde die Ersetzungsmethode besser: "Montageplaner-(m-w)"
                [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


                • #9
                  Wie könnte ich es denn am besten umsetzen?

                  Hier die Stelle im Quelltext:

                  PHP-Code:
                  foreach ($result as $row) {
                                  
                  $id intval($row['id']);
                                  
                  $nome outCode($row['nome']);

                                  echo 
                  "<div id='block_linkstyle'><a href='index.php?page=guide&op=readGuide&title=".rawurlencode($nome)."' title='$nome'>$nome</a></div>\n";
                          } 

                  Kommentar


                  • #10
                    Du arbeitest doch mit mod_rewrite, oder? Dann darfst du aber keine Links veröffentlichen, die über Parameter arbeiten, das soll doch mod_rewrite erledigen. Du erzeugst nur Links wie "guide-Montageplaner-(m-w)" und das kannst du mit preg_replace machen, also alle verbotenen Zeichen durch z. B. - ersetzen.
                    Zuletzt geändert von AmicaNoctis; 23.08.2009, 14:42.
                    [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
                      hmm

                      das versteh ich nicht.
                      An welcher Stelle muss ich nun manipulieren, direkt im Quelltext oder doch in der .htaccess ?

                      Kommentar


                      • #12
                        Du musst im Quelltext Links erzeugen, die deine .htaccess dann übersetzen kann. Wenn du die bereits übersetzten Links erzeugst, bringt die .htaccess ja nichts.
                        [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


                        • #13
                          Zum x-ten Mal: Keine Domains verlinken, die euch nicht gehören!
                          Bitte entferne die Verlinkung, und gewöhne dir an, example.com/.net/.org für Beispiel zu nutzen.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar

                          Lädt...
                          X