[PHP] Wie löse ich das Problem "Path Forwarding"

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Nemesis Force, 10. August 2010 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 10. August 2010
    Wie löse ich das Problem "Path Forwarding"

    Hallo,
    ich habe da ein kleines Problem, bzw. einen kleinen Denkfehler. Ich möchte gern ein "Path Forward" erzeugen, weiss allerdings nicht wie. Es geht dabei um ein Projekt von nem Freund, der will nen Redirector machen und hat sich dazu ne Catch-All-Subdomain bzw. Wildcard-Domain erstellt, wo alle Anfragen drauflaufen: Also z.B. google.sub.de oder web.sub.de wird alles in ein bestimmtes Verzeichnis geleitet. Das funktioniert auch super, doch jetzt will er noch einen "Path Forward" einbauen. Das heisst, die URl z.B. google.sub.de/index.php (oder html) soll jetzt ebenfalls in dieses Verzeichnis weiterleiten. Im Verzeichnis selbst ist ein Script welches die URl auseinander nimmt und den String "google" mit einer DB abgleicht. In der DB befindet sich die URl der Weiterleitung. Ich wusste nicht, wie ich ihm das realisieren soll...

    Die Frage ist jetzt, wie mach ich das am besten, das wenn der Benutzer in die Adresszeile google.sub.de/index.php oder so eingibt, das er auf z.B. google.ohost.de/index.php weitergeleitet wird?

    Ich hab mir gedacht, dass ich alle Anfragen auf z.B. google.sub.de/irgendeine-datei.html mit einer .htaccess in das Verzeichnis weiterleite, wo sich das Script befindet, aber ich kenn den Code für die .htaccess zur Weiterleitung nicht, welcher alle Anfragen behandelt.

    Ich hoffe ich habe das jetzt nicht zu umständlich erklärt und ihr könnt mir dort weiterhelfen. Bin für jede Hilfe dankbar.

    Liebe Grüße,
    Nemesis
     
  2. 10. August 2010
    AW: Wie löse ich das Problem "Path Forwarding"

    Code:
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR] #Existiert ein symbolischer Link?
    RewriteCond %{REQUEST_FILENAME} -l [OR] #Gibt es diese nicht-leere Datei?
    RewriteCond %{REQUEST_FILENAME} -d #Gibt es dieses Verzeichnis?
    RewriteRule ^.*$ - [NC,L] #Wenn Ja: Mach nichts
    RewriteRule ^.*$ pfad/zur/php/datei.php [NC,L] #Wenn Nein: Weiterleiten zur PHP-Datei
    In der php-datei kannst du dann entsprechend reagieren (z.b. mit $_SERVER['REQUEST_URI'], $_SERVER['QUERY_STRING'], etc.)


    Das Code stammt übrigens von der htaccess-Datei, die vom Zend Framework verwendet wird.
     
  3. 10. August 2010
    AW: Wie löse ich das Problem "Path Forwarding"

    Soweit so gut, danke dir! Bewertung hast du dafür, aber ich möchte wirklich alle Dateien zu dem Verzeichnis "redir" weiterleiten, egal ob die Datei existiert oder nicht. Ob die Datei letztendlich wirklich existiert, dass wird im Script überprüft.
     
  4. 10. August 2010
    AW: Wie löse ich das Problem "Path Forwarding"

    Dann musst du nur die 3 RewriteConds löschen + die erste RewriteRule:
    Code:
    RewriteEngine On
    RewriteRule ^.*$ pfad/zur/php/datei.php [NC,L]
     
  5. 10. August 2010
    AW: Wie löse ich das Problem "Path Forwarding"

    Super, danke dir vielmals!

    ~edit:

    Sorry, aber es geht immernoch nicht richtig. Wenn ich dann die Hauptdomain sub-Netz e.V.: Homepage aufrufen will, leitet der die Anfrage so um, dass sie nie beendet werden kann. -.-

    Ich möchte, das es so umgeleitet wird:

    sub-Netz e.V.: Homepage oder sub.de -> Normale Startseite
    url1.sub.de -> ins Verzeichnis "redir"
    url1.sub.de/news.php -> ins Verzeichnis "redir"
    url2.sub.de/readme.html -> ins Verzeichnis "redir"

    Im Verzeichnis "redir" befindet sich dann das PHP-Script welches die Adressen überprüfen soll.
     
  6. 11. August 2010
    AW: Wie löse ich das Problem "Path Forwarding"

    Code:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(www\.)?sub\.de #<-anpassen
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ pfad/zur/php/datei.php [NC,L]
     
  7. 11. August 2010
    AW: Wie löse ich das Problem "Path Forwarding"

    boah, wahnsinn - vielen Dank! Es funktioniert nun so wie es soll.

    ~closed
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.