mod_rewrite - regex

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

  • mod_rewrite - regex

    Hi leute,

    ich hab da mal 2 fragen zu mod_rewrite:

    1. Stimmt es, dass ich nur 9 "atoms" bei diesen regex verwenden kann ?

    2. wie kann ich erreichen, dass links wie :
    [COLOR="Navy"]filename?country=USA&state=California&city=San_Diego[/COLOR]
    automatisch nach : [COLOR="Navy"]filename/USA/California/San_Diego[/COLOR] umgeleitet werden

    die URL filename/USA/California/San_Diego selbst funktioniert ja, aber ich hätte gern, dass die Links autoamtisch auch so umgeleitet werden,

    kann mich da jemand auf den richtigen pfad bringen ?

    Hier mal nen tutorial, dass ich für den start ganz nützlich fand:
    Mod Rewrite Tutorial
    Coder never die, they just GOSUB without RETURN

    Mein System

  • #2
    Zitat von ways Beitrag anzeigen
    1. Stimmt es, dass ich nur 9 "atoms" bei diesen regex verwenden kann ?
    Du meinst Back References? Ja.

    Btw: Du Plenkst.

    2. wie kann ich erreichen, dass links wie :
    [COLOR="Navy"]filename?country=USA&state=California&city=San_Diego[/COLOR]
    automatisch nach : [COLOR="Navy"]filename/USA/California/San_Diego[/COLOR] umgeleitet werden

    die URL filename/USA/California/San_Diego selbst funktioniert ja, aber ich hätte gern, dass die Links autoamtisch auch so umgeleitet werden
    Wieso willst du irgendwas umleiten?
    Gebe die Links im Dokument so aus, wie du sie haben willst.

    Oder meinst du "alte" Verlinkungen von extern, die wirklich auf die neue Form umgeleitet werden sollen?
    Das würde ich im Script machen, für mod_rewrite wäre mir das zu aufwendig.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      das mit dem plenken, hast du mir schon mal auf selfhtml gesagt oder?

      und wegen der url.. ja, die externen und/oder die bookmarks der anwender.
      das sollte ich im script machen? ist es noch zu früh, dass ich grad nicht weiß wie ich das umsetze ?
      Coder never die, they just GOSUB without RETURN

      Mein System

      Kommentar


      • #4
        Du willst parametisierte Url's optisch in eine verzeichnisbasierte Darstellung umwandeln?
        -> Nutze die Parameter, setze deinen Url zusammen und leite mit header() auf diesen Url weiter.
        -> Wozu? Die Parameter sind bereits im Url und können ohne Probleme weiter verwendet werden. Sonst würde obiger Punkt nicht so einfach umzusetzen sein.

        Den Sinn hinter deinem Vorhaben verstehe ich, neben wahsaga, auch nicht so ganz.

        Oder ... Willst du eine verzeichnisbasiere Darstellung mittels mod_rewrite so umwandelt, dass du diese im Script als Parameter nutzen kannst?
        -> Wenn ja ... Dann ist deine Fragestellung falsch.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Zitat von Abraxax Beitrag anzeigen
          Du willst parametisierte Url's optisch in eine verzeichnisbasierte Darstellung umwandeln?
          -> Nutze die Parameter, setze deinen Url zusammen und leite mit header() auf
          Hi Abraxax,

          genau das möchte ich gern !
          ich hab natürlich nochmal drüber nachgedacht, eine Umleitung mittels Header reicht mir vollkommen aus.

          In erster Linie gehts mir natürlich um suchmaschinenfreundliche URLs.
          Wenn ich diese Anmelde, oder sie von suchspidern aufgenommen werden.
          Dazu muss ich ja nur die links auf der Seite verzeichnisbasiert umstellen, was ja kein problem ist.. Das
          PHP-Code:
          output_add_rewrite_var() 
          kann ich dann aber nicht mehr einsetzen oder?
          Coder never die, they just GOSUB without RETURN

          Mein System

          Kommentar


          • #6
            Zitat von ways Beitrag anzeigen
            genau das möchte ich gern !
            ich hab natürlich nochmal drüber nachgedacht, eine Umleitung mittels Header reicht mir vollkommen aus.
            Ok. D.h. Wenn ein User einen paramterbasierten Url aufruft, soll dieser verzeichnisbasiert "werden".
            -> header()

            Zitat von ways Beitrag anzeigen
            In erster Linie gehts mir natürlich um suchmaschinenfreundliche URLs.
            Wenn ich diese Anmelde, oder sie von suchspidern aufgenommen werden.
            Hierzu ist es aber nötig, dass der User (der Bot der Suchmaschine) bereits auf verzeichnisbasierte Urls geleitet wird.
            Also musst du bereits alle Link verzeichnisbasiert darstellen und diese intern mittels mod_rewrite parametisieren, um diese verarbeiten zu können.

            Zitat von ways Beitrag anzeigen
            Dazu muss ich ja nur die links auf der Seite verzeichnisbasiert umstellen, was ja kein problem ist..
            Korrekt.

            Zitat von ways Beitrag anzeigen
            Das
            PHP-Code:
            output_add_rewrite_var() 
            kann ich dann aber nicht mehr einsetzen oder?
            Ich sehe keinen Grund warum es nicht klappen sollte.



            OffTopic:
            PS. Danke für den Hinweis ...
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Zitat von Abraxax Beitrag anzeigen
              PHP-Code:
              output_add_rewrite_var() 
              Ich sehe keinen Grund warum es nicht klappen sollte.

              achso, in dem fall, würde dann meine Header-umleitung wieder eingreifen,
              denn output_add_rewrite_var() erzeugt ja paramterbasierten Url
              oder kann ich da was machen, dass es mir links gleich verzeichnisbasiert ausspuckt?





              OffTopic:
              Kein Problem ...
              Coder never die, they just GOSUB without RETURN

              Mein System

              Kommentar


              • #8
                Zitat von ways Beitrag anzeigen
                oder kann ich da was machen, dass es mir links gleich verzeichnisbasiert ausspuckt?
                Nutze eine andere Funktion oder schreibe eine von Hand. Oder erweitere den Url direkt im Code?

                Du hast hier viele Möglichkeiten ....
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  alles klar, ich werd mir da was einfallen lassen !

                  hab ebend auch grad mal ein wenig getestet, wenn ich dieses verzeichnisbasierte navigieren verwende, dann funktioniert auch die darstellung meiner seite nicht mehr... warscheinlich weil ich relative pfadangaben verwende und die ja nicht mehr zum basispfad stimmen.. verwende ich komplette pfadangaben, dann werden bilder und css wieder geladen...
                  geht das auch anders ?

                  und dann noch eine frage zur übergabe der parameter bei dieser verzeichnisbasierten methode...

                  wenn ich also statt domain.tld/index.php?language=de&content=start, ein domain.tld/de/start verwende, muss ich mir ne funktion schreiben, die mir diese parameter zerteilt, damit ich meine links generieren kann oder gibts es da auch standard-wege ?
                  Coder never die, they just GOSUB without RETURN

                  Mein System

                  Kommentar


                  • #10
                    warscheinlich weil ich relative pfadangaben verwende
                    Schreibe doch einfach /path/to/image.png
                    Also immer absolut vom root-Knoten aus ohne Angabe eines Hostes.

                    verwende ich komplette pfadangaben, dann werden bilder und css wieder geladen
                    Das ist mir neu ...

                    muss ich mir ne funktion schreiben, die mir diese parameter zerteilt
                    Dafür nimmst du mod_rewrite!
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      Zitat von Abraxax Beitrag anzeigen
                      Schreibe doch einfach /path/to/image.png
                      Also immer absolut vom root-Knoten aus ohne Angabe eines Hostes.
                      okay.. mit ../images/bildname.jpg geht es auch..
                      wobei ich aber bei de/start gedacht hätte, dass es ein ../../images/bildname.jpg sein müßte !


                      Zitat von Abraxax Beitrag anzeigen
                      Das ist mir neu ...
                      war so...


                      Zitat von Abraxax Beitrag anzeigen
                      Dafür nimmst du mod_rewrite!
                      dann steh ich wohl noch mächtig aufn schlauch
                      dazu find ich in meinem tutorial nich den passenden ansatz...
                      bisher nur, wie man die parameterübergabe, verzeichnisbasierend zum laufen bringt... aber den nötigen rest leider nicht.. hast du da vielleicht das passende stichwort für mich und google
                      Coder never die, they just GOSUB without RETURN

                      Mein System

                      Kommentar


                      • #12
                        okay.. mit ../images/bildname.jpg geht es auch..
                        wobei ich aber bei de/start gedacht hätte, dass es ein ../../images/bildname.jpg sein müßte !
                        Ich habe "immer absolut vom root-Knoten aus" gesagt. Wo kommen die Punkt-Paare in deinen Pathangaben her?

                        war so...
                        Interessant, wenn dem so ist. Aber jetzt wird dieses Verhalten - sollte es so sein - erst einmal ignoriert.

                        dann steh ich wohl noch mächtig aufn schlauch
                        dazu find ich in meinem tutorial nich den passenden ansatz...
                        Das mag evtl. daran liegen, dass du von mod_rewrite nicht die Bohne von Ahnung hast? ... Nein, lass es mich anders formulieren. Du weißt (nur) nicht, was mod_rewrite tatsächlich macht?

                        Lies dich mal auf modrewrite.de | mod_rewrite & .htaccess (Apache Server) ein.
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          1. also:

                          ich hab meine seite in www/site
                          bilder in www/site/images
                          css in www/site/css

                          in www/site liegt das file index.php
                          was ich normal mit index.php?language=de&content=start aufrufe

                          wenn ich nun localhost/site/de/start aufrufe, klappt das auch,
                          wenn ich aber die pfade der grafiken mit site/images/bild.jpg versehen, geht das nicht... und das is doch bis zum root-verzeichnis oder irre ich mich auch da??
                          läd er mir die images und css files nur mit "../"
                          ein site/images/bild.jpg geht nicht !?

                          uppss... ein /site/images/bild.jpg geht... fehlte also das / am anfang... ok
                          text hinfällig... aber so lernt man ja geweöhnlich dazu

                          2. alles klar, wird ignoriert !


                          3. also wenn du das so sagst, JA... nicht die bohne... hab mir nur die grundlagen für die htaccess bzw die formulierungen für den teil zum pfadbasierten "work" angetan !
                          werde aber deinen hinweis bzw link gleich mal aufsaugen ! das kann ja so nich weitegehen.. und lernwillig bin ich allemal !
                          möchte ja schon, dass ich diese arbeitsweise verstehe.. bisher hab ich nur "angewendet".. was zu diesem ergebnis führt, wie unschwer zu sehen
                          kein gutes.. aber ein anfang !
                          Coder never die, they just GOSUB without RETURN

                          Mein System

                          Kommentar


                          • #14
                            bisher hab ich nur "angewendet"
                            Da sage ich jetzt nichts zu... außer, dass ich nicht das Gefühl habe, dass du weißt, wann mod_rewrite angewendet wird.

                            Aber egal .. Lies dir mal das ein oder andere zu dem Thema durch. Dann weißt du wann du wie mod_rewrite (sinnvoll) anwenden kannst.

                            Und wie ich dich einschätze, hast du in maximal 7 Tagen das Thema durch.


                            uppss... ein /site/images/bild.jpg geht... fehlte also das / am anfang... ok
                            Tipp: Wenn "site" später mal als example.com erreichbar sein soll, solltest du das "/site" in deiner Konfiguration zentral definieren können. Denn später auf einem Live-System example.com brauchst du das "/site" vermutlich nicht mehr, da das Document-Root des Webservers genau darauf zeigt.
                            Zuletzt geändert von Abraxax; 21.07.2009, 23:32.
                            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                            Kommentar


                            • #15
                              ich geb mir mühe

                              ein paar kleinigkeiten konnte ich schon gleich verstehen und helfen bereits auch (-> kurze urls ).. mal sehen, wie lange ich benötige um diese verzeichnisbasierte vorgehensweise zu lösen... mit allen drum und dran...
                              Coder never die, they just GOSUB without RETURN

                              Mein System

                              Kommentar

                              Lädt...
                              X