2010-11-16 92 views
0

我看到了一些类似的帖子,但无法达到我的实际需要的感觉。htaccess阻止一切,但1个文件和1个文件夹

所以这就是我所拥有的。 我需要将所有过去的网址转发到INDEX.PHP文件。这是好的,我到目前为止,但我需要添加一个特定的文件夹'图像'文件夹的例外,所以图像显示,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

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

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

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

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

+0

工作完美,我对htaccess知之甚少,但它非常强大,我建议我多做一些阅读,哈哈。感谢您的帮助,非常感谢! – Justin 2010-11-16 17:35:07

相关问题