tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
13
ZUGRIFFE
684
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    chegga chegga ist offline Rookie
    Registriert seit
    Sep 2004
    Beiträge
    7
    Hallo,

    ich habe eine Frage zu einer mod_rewrite Regel:

    Ich möchte gerne, dass immer einer Datei nach dem HOST eingebunden wird.

    ^{HTTP_HOST}/(.*)& {HTTP_HOST}/index.php/$1

    Auch wenn ich den Host direkt angebe und keine Variable, klappt es nicht.
    Ich trage die Regeln direkt in die Apache conf ein, so sind sie doch auch automatisch für alle Unterverzeichnisse gueltig, oder?

    Ich konnte ich auch nichts direkt finden. Kann mir vielleicht jemand weiterhelfen?
    Danke schon einmal!
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Da fehlt das % vor dem {HTTP_HOST}....welches der Rule signalisiert, dass es sich um eine Servervariable handelt.
     

  3. #3
    chegga chegga ist offline Rookie
    Registriert seit
    Sep 2004
    Beiträge
    7
    Danke fuer den Hinweis, aber es muss noch tiefgruendiger sein. Ich hatte es vorher schon ohne die Host Variable ausprobiert gehabt.

    Hmmm..
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Hab jetzt nicht nachgeschaut, woran es liegt

    ....aber die HOST-Variable benötigst du ansich garnicht....

    Code :
    1
    
    RewriteRule ^/([^/]*)& /index.php/$1

    ....sollte den Zweck bereits erfüllen(sofern ich richtig verstanden habe, was du vorhast)

    Wenn nicht, poste mal anhand 2er URLs ein Beispiel, was du umschreiben willst.
    Geändert von Sven Mintel (07.09.04 um 12:27 Uhr)
     

  5. #5
    chegga chegga ist offline Rookie
    Registriert seit
    Sep 2004
    Beiträge
    7
    Danke fuer Deine Hilfe!

    Also eigentlich habe ich folgendes vor:

    www.domain.de/aaa/bbb/ccc (alle Anfragen eigentlich)

    moechte ich so umleiten, dass immer die php Datei aufgerufen wird:

    also umleiten nach www.domain.de/index.php/aaa/bbb/ccc


    So kann ich dann ueber das Sckript in der index.php dynamisch die richtige Seite aufbauen. Die Verzeichnis-Struktur ist komplett virtuell.
     

  6. #6
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Da probiers dies:
    Code :
    1
    2
    3
    
    RewriteEngine On
    RewriteRule   !^index\.php.*      - [C]
    RewriteRule   (.*)                  /index.php/$1

    Zur Erklärung:
    die erste Rule ersetzt nix,(das '-' hat dort eine spezielle Bedeutung...eben "nichts ersetzen").
    Die Flag [C]....(Chain)...bedeutet, dass diese Rule mit der nächsten verknüpft ist....nur wenn die erste Rule zutreffend war, wird die Zweite beachtet.

    Es wird also erstmal geprüft, ob es sich bei der Anfrage nicht um die index.php selbst handelt(die würde ja sonst auch umgeschrieben werden).

    In der nächsten Zeile wird dann alles an die index.php rangehängt....der HOST spielt ja, wie bereits erwähnt, keine Rolle.
     

  7. #7
    Registriert seit
    Nov 2003
    Ort
    Ludwigshafen
    Beiträge
    1.996
    Hallöchen

    Sowas hab ich diese Tage auch vorgehabt
    Hätte da aber auch noch ne kleine Frage dazu

    Wenn ich nun dass so mache wie fatalus geschrieben hat.
    Dann wird doch auch wenn ich zB. "www.domain.de/images/image1.jpg" aufrufe das vom Server verarbeitet wie "index.php/images/image1.jpg" oder ?

    Wie kann ich einzelne Verzeichnisse von dieser Regel ausschliesen ?

    Ich weiss ist ne blöde Frage aber von .htaccess hab ich null Peilung, und das obwohl ich schon soviel zu dem Thema gelesen hab
     
    Art Community - Blog
    Ich glaube an: Russels Teekanne

    Ich biete keinen ICQ oder MSN Support.
    Ich gebe keine Informationen zu Software, die hier nicht erlaubt ist, heraus, auch nicht per PN

  8. #8
    chegga chegga ist offline Rookie
    Registriert seit
    Sep 2004
    Beiträge
    7
    @ fatalus,
    besten Dank!

    @ DJ Teac,
    vielleicht kannst Du dir es ja zum Vorteil machen und die Grafikanfragen ueber das Skript entsprechend ausfuehren (und nicht direkt ausgeben).
     

  9. #9
    Registriert seit
    Nov 2003
    Ort
    Ludwigshafen
    Beiträge
    1.996
    @Chegga: Stimmt, dassich darauf nicht selbst gekommen bin
    Ich bau meinen Bilderklau einfach direkt in das Script mit ein
     
    Art Community - Blog
    Ich glaube an: Russels Teekanne

    Ich biete keinen ICQ oder MSN Support.
    Ich gebe keine Informationen zu Software, die hier nicht erlaubt ist, heraus, auch nicht per PN

  10. #10
    chegga chegga ist offline Rookie
    Registriert seit
    Sep 2004
    Beiträge
    7
    Genau, nur gibt es da noch das Problem, wie Du intern die Bilder aufrufen kannst
     

  11. #11
    Registriert seit
    Nov 2003
    Ort
    Ludwigshafen
    Beiträge
    1.996
    intern sollte das ja kein Problem sein, das php script wird ja nicht von Mod_rewrite beeinflusst bei seinen Werken.
     
    Art Community - Blog
    Ich glaube an: Russels Teekanne

    Ich biete keinen ICQ oder MSN Support.
    Ich gebe keine Informationen zu Software, die hier nicht erlaubt ist, heraus, auch nicht per PN

  12. #12
    chegga chegga ist offline Rookie
    Registriert seit
    Sep 2004
    Beiträge
    7
    Wenn du eine Grafik laedst muesste der Pfad auch mit mod_rewrite umgeschrieben werden.

    Also einfach ein image tag mit dem Dateinamen duerfte nicht gehen.
     

  13. #13
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Um auf das Ausschliessen einzelner Verzeichnisse zurückzukommen....das funktioniert genau wie bei der index.php:
    Code :
    1
    2
    3
    4
    
    RewriteEngine On
    RewriteRule   !^index\.php.*      - [C]
    RewriteRule   !^images/.*      - [C]
    RewriteRule   (.*)
     

  14. #14
    chegga chegga ist offline Rookie
    Registriert seit
    Sep 2004
    Beiträge
    7
    Ich glaub, Du hast ein .* vergessen am Anfang:
    Code :
    1
    
    RewriteRule   !^.*images/.*      - [C]

    Wenn man seine Verzeichnisstruktur nicht veraendern moechte, kann man das images/ auch einfach wieder entfernen mit:
    Code :
    1
    
    RewriteRule   ^(.*)images/(.*)$ $1$2

    also komplett dann:
    Code :
    1
    2
    3
    4
    
    RewriteRule   !^index2\.php.*      - [C]
    RewriteRule   !^.*images/.*      - [C]
    RewriteRule   (.*)                  /index2.php/$1
    RewriteRule   ^(.*)images/(.*)$ $1$2
     

Ähnliche Themen

  1. [mod_rewrite] seltsames Verhalten von RewriteRule
    Von fanste im Forum Linux & Unix
    Antworten: 0
    Letzter Beitrag: 27.06.08, 23:09
  2. mod_rewrite: RewriteRule für Druckansicht
    Von 27apricot im Forum Hosting & Webserver
    Antworten: 8
    Letzter Beitrag: 28.02.07, 16:21
  3. Problem mit RewriteRule (mod_rewrite)
    Von cameeel im Forum Hosting & Webserver
    Antworten: 2
    Letzter Beitrag: 22.06.06, 14:30
  4. [mod_rewrite] RewriteRule und ErrorDocument
    Von diggity im Forum Hosting & Webserver
    Antworten: 9
    Letzter Beitrag: 04.03.06, 14:19
  5. mod_rewrite / rewriterule-Problem
    Von Andy Macht im Forum Hosting & Webserver
    Antworten: 1
    Letzter Beitrag: 06.02.05, 22:10