kostenloser Webspace werbefrei: lima-city


htaccess RewriteRule

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Hallo Zusammen,

    Ich versuche zurzeit das Downloadsuchverhalten zu optimieren mittels htaccess.


    Beispiel:

    Zur Zeit sieht eine vollwertige URL so aus:
    http://marvinkleinmusic.de/Get_File.php?downloadname=Moonlight%20Sonata%20III.%20Presto%20Agitato&action=view&app=Magic%20Piano&instrument=Grand%20Piano


    (Ohne die %20)

    Nun habe ich es schon so eingestellt mit htaccess, dass ich zum passenden Download komme wenn ich jetzt folgendes z.B. eingebe:
    http://marvinkleinmusic.de/Downloads/All of Me


    htaccess dazu:
    RewriteEngine On
    RewriteRule ^\.htaccess$ - [F]  
    RewriteRule ^Downloads/([^/]*)$ Get_File.php?downloadname=$1&action=view [L]


    Mein Problem dabei ist jetzt jedoch das Lieder zum Teil auch 2 mal vorkommen, jedoch in verschiedenen Kategorien. Deswegen muss die Regel noch erweitert werden, sodass es wie folgt aussieht:
    http://marvinkleinmusic.de/downloads/Magic Piano/All of Me


    Dazu muss beachtet werden, das es eine Datei namens downloads.php auf dem Server gibt welche eine Kategorie auswahl beinhaltet. Deswegen soll der zweite Parameter gleichzeitig als Kategorie ersetzung dienen.

    Beispiel:
    Wenn ich jetzt http://marvinkleinmusic.de/downloads/Magic Piano aufrufe soll die Kategorie geöffnent werden : marvinkleinmusic.de/downloads?kategorie=Magic Piano

    Das selbe gilt sowohl für "Sing Jams" und "Piano Genius".

    EDIT: Ich habe noch vergessen, das für die Kategorien eine Seitenangabe benötigt wird. Wenn diese fehlt ist seite=1

    Das sieht dann ohne htaccess etwa so aus:
    marvinkleinmusic.de/downloads?kategorie=Magic Piano&seite=2



    Das benötige ich jetzt genau:
    RewriteRule's die wie folgt umleiten: (Das was in den Klammern steht kann auch anderere Inhalt sein)
    http://marvinkleinmusic.de/downloads/(Magic Piano) -> http://marvinkleinmusic.de/downloads.php?kategorie=(Magic Piano)
    http://marvinkleinmusic.de/downloads/(Magic Piano)/(2) ->  http://marvinkleinmusic.de/downloads.php?kategorie=(Magic Piano)&seite=(2)
    http://marvinkleinmusic.de/downloads/(Magic Piano)/(All of Me) -> http://marvinkleinmusic.de/Get_File.php?downloadname=(All of Me)&app=(Magic Piano)


    EDIT ENDE

    Zu guter letzt sollen per htaccess in dieses URL's die leerzeichen durch %20 ersetzt werden.

    Hat vielleicht jemand eine Idee? Ich lese mich derzeit noch in Reguläre Ausdrücke ein und habe sogut wie keinen Plan davon.

    Liebe Grüße und vielen dank für jede Hilfe! :)


    Beitrag zuletzt geändert: 8.1.2015 22:48:17 von marvinkleinmusic
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. thomasba

    Co-Admin Kostenloser Webspace von thomasba

    thomasba hat kostenlosen Webspace.

    Als erstes musst du dir Gedanken machen, in welcher Reihenfolge du die Regeln aufstellst. Die Regel mit der Zahl würde ich an die erste Stelle schreiben, da diese die 3. ausschließt.

    Im Endeffekt würde ich diese wie folgt aufstellen:

    RewriteEngine On
    
    RewriteRule ^Downloads/([^/]*)/([0-9]+)$ /downloads.php?kategorie=$1&seite=$2 [L] 
    RewriteRule ^Downloads/([^/]*)/([^/]+)$ /Get_File.php?downloadname=$1&app=$2 [L] 
    RewriteRule ^Downloads/([^/]*)$ /downloads.php?kategorie=$1 [L]
  4. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Hallo nochmal!

    Ich habe ganz vergessen eine Sache mit einzubeziehen. Zwar lassen sich die Downloads/Kategorien zwar problemlos dank Thomas anzeigen, allerdings habe ich vergessen das ganze auch noch für den Download zu übernehmen.

    Das ganze sieht dann etwa ohne htaccess so aus:
    http://marvinkleinmusic.de/Get_File.php?downloadname=All%20of%20Me&key=YoamKzKtOq&action=download


    Der key wird immer zufällig generiert und ist immer 10 Zeichen lang.
    Die action zum downloaden ist download.

    Ich benötige dort noch eine Regel in htaccess die aus der URL oben folgenden Link generiert:
    http://marvinkleinmusic.de/downloads/(Magic Piano)/(All of Me)/(key10zeichen)/download

    Ich versuche mal ein wenig rum.

    LG
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!