2010-12-01 9 views
2

私は、終了しないで書き直されないように、特定のファイル拡張子を含めることを試みています。htaccess一般的な書き換え、イメージをスキップ

は、(イメージタイプ:jpg|gif|png

Currenty私が持っている:

Options +FollowSymlinks 
RewriteEngine On 

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

私はこれをスキップする必要がありますリクエストURLがで終わっている:.gif/.jpg/.png

はどこにでも見ている..しかし、することができますされてどのようにそれを行うかを見つけることはありません。ありがとう!

答えて

4

これはそれを行う必要があります。

Options +FollowSymlinks 
RewriteEngine On 

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

を基本的にこれはそれを送った後、ファイル名がGIFのJPGまたはPNGで終わっていない、それがファイルではなく、ディレクトリではありません、と言いますindex.php

+0

私はアイデアを得ることができますが、上記のコードは動作しません(どんな洞察をしてもリダイレクトしようとしていますか?)私を夢中にします:/ – Oli

+0

ああ、ちょうど私の上で試しました... if www.example.com/images/someimage.jpgのリクエストをしてイメージフォルダが存在しないと動作しません...イメージを置き換えるには、RewriteCond%{REQUEST_URI} !\。(gif | jpg | png)$は、私のそれと激怒する。 – Ben

+0

恐ろしい!それはトリックをした;-)ありがとう – Oli

0

そのリストに追加のRewriteCondがあれば十分だと思っていたはずです。

RewriteCond %{REQUEST_URI} !(\.jpg|\.gif|.png)$ 

必要に応じて[OR]を忘れないでください。