htaccess一般重写但跳过图像

时间:2010-12-01 16:40:49

标签: .htaccess

我试图将某些文件扩展名包含在被重写的文件中,但不会退出。

(图片类型:jpg|gif|png

现在我有:

Options +FollowSymlinks
RewriteEngine On

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

我需要跳过此请求网址结尾:.gif/.jpg/.png

一直在寻找..但无法找到如何做到这一点。谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我应该认为该列表中的额外RewriteCond就足够了。

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

在必要时不要忘记[OR]