jobo: .htaccess - bestimmte unterordnerdateien direkt durchreichen

Hallo,

in example.com/example liegt die .htaccess, die auf die index.php rewriten soll bei allen Anfragen, außer die Anfragen nach example.com/example/bilder/bla.png (etc.pp.). Könnte auch noch example.com/example/css/bla.css etc. dazukommen. Aber example.com/example/dasnichtdirektausgeben/scriptxyz.php soll _nicht_ ausgegeben werden, sondern via index.php dann eben eingebunden werden.

RewriteCond %{SCRIPT_FILENAME} -f

geht deshalb nicht.

sondern eben "wenn nicht (example/pics|example/css) am Anfang steht" (oder ist "example" dann nicht mehr Teil des Pfades?), dann bitte rewriten, sonst einfach ausliefern.

Oder sollte ich das in der index.php regelen, indem ich dann mit file_get_contents die Bilder oder Scripte einlese und per Echo ausgebe?

Gruß

jobo

  1. Hallo,

    in example.com/example liegt die .htaccess, die auf die index.php rewriten soll bei allen Anfragen, außer die Anfragen nach example.com/example/bilder/bla.png (etc.pp.). Könnte auch noch example.com/example/css/bla.css etc. dazukommen. Aber example.com/example/dasnichtdirektausgeben/scriptxyz.php soll _nicht_ ausgegeben werden, sondern via index.php dann eben eingebunden werden.

    RewriteCond %{SCRIPT_FILENAME} -f

    geht deshalb nicht.

    sondern eben "wenn nicht (example/pics|example/css) am Anfang steht" (oder ist "example" dann nicht mehr Teil des Pfades?), dann bitte rewriten, sonst einfach ausliefern.

    RewriteRule !^(bilder|css).* index.php [QSA,L]

    Nicht am Anfang bilder oder css gefolgt von wasauchimmer. Vermutlich könnte ich mit "/" auch noch verhindern, dass bilder_sonstwas.php da auch drunter fällt. Immerhin ist klar, dass es nur um den relativen Pfad ab dem Verzeichnis geht, in dem die .htaccess liegt. Oder muss man das nicht escapen?

    Scheinbar nicht, denn das da funzt:

    RewriteRule !^(bilder/|css/).* index.php [QSA,L]

    bilder_test.php wird rewritten. bilder/abc.png nicht. So wies sein soll.

    Gruß

    jobo