2010-12-01 5 views
2

J'essaie d'inclure certaines extensions de fichiers d'être réécrits fi ils ne sortent pas.htaccess réécriture générale, mais ignorer les images

(Types d'images: jpg|gif|png)

CurrentY J'ai:

Options +FollowSymlinks 
RewriteEngine On 

RewriteCond %{DOCUMENT_ROOT}/$1 -f [OR] 
RewriteCond %{DOCUMENT_ROOT}/$1 -d 
RewriteRule (.*) - [S=1] 
RewriteRule (.*) /index.php?id=$1 [L] 

je aurais besoin de sauter c'est l'URL de la requête se termine par: .gif/.jpg/.png

cherché partout .. mais peut Je ne sais pas comment le faire. Merci!

Répondre

4

Cela devrait le faire:

Options +FollowSymlinks 
RewriteEngine On 

RewriteCond %{REQUEST_URI} !\.(gif|jpg|png)$ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /index.php?id=$1 [L] 

Cela dit essentiellement, nom de fichier ne se termine pas avec gif jpg ou png, et il est pas un fichier, et n'est pas un répertoire, puis l'envoyer à index.php

+0

J'ai l'idée ... mais le code ci-dessus stil l ne fonctionne pas (essayant de rediriger n'importe quoi ... des aperçus? Conduire moi fou:/ – Oli

+0

ah, juste essayé sur le mien ... si disons que vous faites une demande pour www.example.com/images/someimage.jpg et que le dossier des images n'existe pas, cela ne fonctionne pas ... Pour que cela fonctionne, remplacez l'image par: RewriteCond% {REQUEST_URI} ! \. (gif | jpg | png) $, j'ai mis à jour mon un swer avec ça. – Ben

+0

Génial! Cela a fait l'affaire, merci – Oli

0

J'aurais dû penser qu'un RewriteCond supplémentaire sur cette liste suffirait. Sans oublier le [OR] si nécessaire.