htaccess阻止除1个文件和1个文件夹之外的所有内容

时间:2010-11-16 05:14:03

标签: .htaccess mod-rewrite forwarding

我看过很多类似的帖子但是无法达到我想要的感觉。

所以这就是我所拥有的。 我需要将所有过去的URL转发到INDEX.PHP文件。这是好的,我到目前为止,但我需要添加一个特定文件夹的例外'images'文件夹,所以图像显示,B / C,因为我将所有内容转发到索引它没有抓住所有权利图像,因为它阻止了它们。

目前我有类似的东西

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !images/$
RewriteCond %{REQUEST_URI} !index.php$
RewriteRule ^(.*)$ "http://www.exmample.com" [R=301,L]

目前我的图片无法加载,除非我对图片进行特定调用,即:

RewriteCond %{REQUEST_URI} !images/single/picture.jpg$

任何想法或建议将不胜感激。 干杯

1 个答案:

答案 0 :(得分:1)

是的,“!images / $”表示您正在重写除URI“http://www.example.com/images/”的特定请求之外的所有内容。在RewriteCond中使用正则表达式:

RewriteCond %{REQUEST_URI} !images/(.*)$

这意味着不会重写以“images /”开头的URI。我想按照“!images /(.*)。jpg $”的方式做一些更安全的事情,这样就不会重写以“\ images”开头并以“.jpg”结尾的URI。根据需要进行优化,即指定多个扩展名((。jpe?g)|(。gif))。

我不是mod_rewrite向导,我不是很擅长正则表达式,但这种方法对我有用。