mod_rewrite - regex

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

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

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    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, 22:32.

    Einen Kommentar schreiben:


  • ways
    antwortet
    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 !

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • ways
    antwortet
    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

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    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!

    Einen Kommentar schreiben:


  • ways
    antwortet
    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 ?

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • ways
    antwortet
    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?

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • ways
    antwortet
    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 ?

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • ways
    hat ein Thema erstellt mod_rewrite - regex.

    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
Lädt...
X