Martin: mod_rewrite soll existierende dateien zuerst anzeigen

morgen zusammen,

ich habe folgende .htaccess-datei:

RewriteEngine On
RewriteRule ^(.*)_(.*)_(.*).html$ index.php?open=$1&page=$2&id=$3

jetzt sollt aber zuerst nach einer datei gesucht (und gegebenenfalls angezeigt) werden, die wirklich existiert, und nicht sofort auf die index.php weitergeleitet werden. (nur wenn keine entsprechende datei extistiert).

gruß und frohe ostern

martin

  1. Moin!

    RewriteEngine On
    RewriteRule ^(.*)_(.*)_(.*).html$ index.php?open=$1&page=$2&id=$3

    jetzt sollt aber zuerst nach einer datei gesucht (und gegebenenfalls angezeigt) werden, die wirklich existiert, und nicht sofort auf die index.php weitergeleitet werden. (nur wenn keine entsprechende datei extistiert).

    Du mußt eine RewriteCond einfügen, die die Existenz der Datei prüft und nur bei Nichtexistenz die RewriteRule ausführt.

    Ich hab beispielsweise sowas, um nichtexistierende Bilder mit einem Dummy (aber unter derselben URL) azuszuliefern:

    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-s
    RewriteRule ^/(.*).jpg$ /ersatzbild.jpg

    - Sven Rautenberg

    1. hallo sven,

      ja, danke. jetzt funktionierts. ich brauche das ganze, um meine seiten halbdynamisch zu machen, um den server zu entlasten.

      auf jeden fall vielen dank,

      martin

    2. Hallo Sven,

      RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-s

      Meinst Du nicht, %{REQUEST_FILENAME} wäre sinnvoller? Dann würde das ganze nämlich auch in Verzeichnissen funktionieren, die über Alias eingebunden sind.

      Viele Grüße,
      Christian

      1. Moin!

        RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-s

        Meinst Du nicht, %{REQUEST_FILENAME} wäre sinnvoller? Dann würde das ganze nämlich auch in Verzeichnissen funktionieren, die über Alias eingebunden sind.

        Mach ich ja nicht, also brauch ich das nicht. :)

        - Sven Rautenberg