tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
15
ZUGRIFFE
451
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    gulo92 gulo92 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    55
    Hallo,

    ich beschäftige mich gerade erstmals mit dem Thema mod_rewrite.
    Die Ausgangsseite überträgt via get den Wert 12 für die Variable "id"
    PHP-Code:
    seite.php?id=12 
    auf seite.php wird der Inhalt normal angezeigt und der entsprechende Anhang an der URL wird auch korrekt übermittelt.
    Nun möchte ich, dass aus /seite.php?id=12 ---> seite12.html wird.

    Das wollte ich so in der *.htacces umsetzen:
    PHP-Code:
    RewriteEngine on 
    RewriteRule 
    (.*)\.htmlseite.php?id=$
    Allerdings bleibt die URL immer gleich uns nichts ändert sich... was mache ich falsch?

    Danke!
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Du machst aus 'seite12.html' -> 'seite.php?id=seite12'

    Nun möchte ich, dass aus /seite.php?id=12 ---> seite12.html wird.
    Dazu musst du die Logik umdrehen
    Code :
    1
    
    RewriteRule ^seite\.php\?id=(.*)$ seite$1.html
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    gulo92 gulo92 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    55
    Nein, das hilft nicht ... es heißt doch auch:

    PHP-Code:
    RewriteRule [Ausgabe] [Original
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Nope. Es ist

    Code :
    1
    
    RewriteRule Pattern Substitution [flags]

    Siehe dazu http://httpd.apache.org/docs/current...ml#rewriterule

    Pattern = Regulärer Ausdruck als Suchstring
    Substitution = Ersetz-String für einen Reguläreren Ausdruck
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  5. #5
    gulo92 gulo92 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    55
    es geht aber irgendwie nicht und zeigt immer die alte URL an ...
     

  6. #6
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Zeige a) Dein neuer Code und b) deine Test-URL sowie c) die gewünschte Ziel-URL
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  7. #7
    gulo92 gulo92 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    55
    Seite a.html hat diesen Link:

    PHP-Code:
    <a href="/details/seite.php?id=12">LINK</a
    Dieser Link soll im Browser aber als /details/seite_12.html angezeigt werden.

    Daher habe ich nun in der .htaccess-Datei folgendes stehen.

    PHP-Code:
    RewriteEngine on 
    RewriteRule 
    ^seite\.php\?id=(.*)$ seite$1.html 
    Jetzt dachte ich, dass das schon reichen würde und die URL im Browser in der gewünschten Form eingeblendet wird ...
     

  8. #8
    jannicars jannicars ist offline Mitglied Gold
    Registriert seit
    Jun 2011
    Beiträge
    219
    Du verstehst das wohl falsch, der Hyperlink verweist automatisch auf die anzeigbare URL also:
    PHP-Code:
    <a href="/details/seite_12.html">LINK</a
    Das wird dann intern im Apachen halt auf den richtigen normalen Link umgewandelt,
    sodass der Benutzer nur den zusehen bekommt.
     

  9. #9
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    diene .htaccess steht aber schon im Unterverzeichnis 'details', oder?
    Ansonsten das ^ entfernen. Das ^ steht im Pattern für String-Anfang.

    Oder du machst es os, dass der ganze Pfad mitgegeben wird. Das folgende sollte mMn gehen
    Code :
    1
    2
    
    RewriteEngine on 
    RewriteRule ^(.*)seite.php?id=(.*)$ $1seite$2.html
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  10. #10
    gulo92 gulo92 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    55
    Hä, jetzt komm ich gar nicht mehr klar ... wie muss ich den GET-Parameter denn dann übertragen? Mir fehlt grad total der Ansatz
     

  11. #11
    gulo92 gulo92 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    55
    Zitat Zitat von Yaslaw Beitrag anzeigen
    diene .htaccess steht aber schon im Unterverzeichnis 'details', oder?
    Ansonsten das ^ entfernen. Das ^ steht im Pattern für String-Anfang.

    Oder du machst es os, dass der ganze Pfad mitgegeben wird. Das folgende sollte mMn gehen
    Code :
    1
    2
    
    RewriteEngine on 
    RewriteRule ^(.*)seite.php?id=(.*)$ $1seite$2.html
    ja na klar ist die im richtigen Verzeichnis ... aber der neue Code ändert auch nichts..
     

  12. #12
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    So, nach einigen kleinen Recherchen bin ich drauf gekommen wie man den QUERY_STRING auswerten kann.

    http://www.simonecarletti.com/blog/2...-query-string/

    Code :
    1
    2
    3
    4
    
    RewriteEngine on
    RewriteCond %{QUERY_STRING} id=([0-9]+)
    # http://localhost:85/test/ nocht durch deine URL ersetzn
    RewriteRule seite.php http://localhost:85/test/seite%1.html [R=302,L]
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  13. #13
    gulo92 gulo92 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    55
    so, jetzt geht es endlich

    wie kann ich jetzt beliebig viele Paramter an die URL hängen?
    Der entsprechende Ausschnitt der .htaccess sieht momentan so aus:

    PHP-Code:
    RewriteRule ^ident/([^/\.]+)/?$ index.php?ident=$[L
    Wenn ich statt nur der Variable "ident" noch ne Variable "name" und "ort" anhägen möchte, wie muss ich das dann verknüpfen?

    So funktioniert es irgendwie nicht .. :


    PHP-Code:
    RewriteRule ^ident/([^/\.]+)/?$/name/([^/\.]+)/?$ index.php?ident=$1&name=$[L
     

  14. #14
    gulo92 gulo92 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    55
    Hallo,

    ich habe das Thema mod_rewrite nun endlich halbwechs verstanden ... Nun habe ich noch eine Frage. Momentan sieht die .htaccess Datei an dieser Stelle so aus

    PHP-Code:
    RewriteRule ^ident/([^/.]+)/?$ index.php?ident=$[L
    Nun frage ich mich, wie ich das Ganze ergänzen könnte um nicht nur die Variable "ident" sondern auch andere Variablen anbinden kann. Wie muss ich diesen

    PHP-Code:
    ^ident/([^/.]+)/?$ 
    Bereich dafür anpassen?

    Danke!
     

  15. #15
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Hab mal die zusammengehörenden Threads zusammengeführt
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

Ähnliche Themen

  1. Verknüpfung mit Java
    Von zerix im Forum Java
    Antworten: 3
    Letzter Beitrag: 04.11.05, 22:43
  2. Und Verknüpfung im if
    Von PhoenixDH im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 18.08.05, 09:52
  3. string verknüpfung in xsl
    Von shockshell im Forum XML Technologien
    Antworten: 7
    Letzter Beitrag: 14.06.05, 11:24
  4. verknüpfung****
    Von wo0zy im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 01.01.02, 15:59
  5. Mehrfache Verknüpfung
    Von fruehbeet im Forum Microsoft Windows
    Antworten: 3
    Letzter Beitrag: 21.09.01, 13:57