mod_rewrite für dereferer

Dieses Thema im Forum "Webentwicklung" wurde erstellt von sup0r, 14. August 2011 .

Schlagworte:
  1. 14. August 2011
    hallo zusammen,

    ich bastle gerade spaßhalber an einem dereferer und hänge im moment an der entsprechenden rewrite-rule. meine test-url ist http://example.com/go/http://www.youtube.com/watch?v=Hu-YsZNpkZs&feature=related . so. zuerst hatte ich folgende rule:
    Code:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^go/(.*) go.php?url=$1
    meine go.php gibt zum testen $_GET per print_r() aus. so. mit obiger rule erhalte ich folgendes ergebnis:
    Code:
    Array
    (
     => http:/www.youtube.com/watch
    )
    aus "http://" wird also "http:/" (nur noch ein slash) und die ganzen get-parameter werden komplett ignoriert. so. ein wenig recherche hat mich auf die "flags" gebracht, bei denen ich allerdings nicht wirklich durchgestiegen bin. ich habe die rule wie folgt modifizert:
    Code:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^go/(.*) go.php?url=$1 [QSA]
    das erzeugt jetzt folgendes:
    Code:
    Array
    (
     [url] => http:/www.youtube.com/watch
     [v] => Hu-YsZNpkZs
     [feature] => related
    )
    soweit schon mal nicht schlecht, da man das ganze hier per php aufgreifen könnte (http:/ durch http:// ersetzen und die parameter "v" und "feature" anhängen). würde wohl funktionieren aber ist eben nicht wirklich schön.

    jetzt wollte ich euch fragen, ob mir hier jemand weiterhelfen kann. ziel ist eben beim aufruf der url http://example.com/go/http://www.yo...ekommt. wäre super, vielen dank im voraus! :)
     
  2. 14. August 2011
    AW: mod_rewrite für dereferer

    Code:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^go/(.*) go.php?$1 [QSA,L]
    PHP:
    $url  $_SERVER [ 'QUERY_STRING' ];

    print 
    $url ;
     
  3. 14. August 2011
    AW: mod_rewrite für dereferer

    hi murdoc, danke soweit - allerdings wird dann "http://www.youtube.com/watch?v=Hu-YsZNpkZs&feature=related" die url "http:/www.youtube.com/watch&v=Hu-YsZNpkZs&feature=related". also immer noch ein fehlender slash beim protokol und ein & statt ? hinter "watch". das &/?-problem könnte man wieder per php regeln, oder gibt es da eine andere möglichkeit, einfach die url 1:1 an das php-script weiterzugeben?
     
  4. 14. August 2011
    AW: mod_rewrite für dereferer

    PHP:
    $uri  $_SERVER [ 'REQUEST_URI' ];

    print 
    substr ( $uri strpos ( $uri 'http://' ));
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.