我试图将某些文件扩展名包含在被重写的文件中,但不会退出。
(图片类型: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
一直在寻找..但无法找到如何做到这一点。谢谢!
答案 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]
。