代码之家  ›  专栏  ›  技术社区  ›  Justin

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

  •  0
  • Justin  · 技术社区  · 15 年前

    我看到过很多类似的帖子,但都没能达到我想要的效果。

    这就是我所拥有的。 我需要把所有以前的URL转发到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 回复  |  直到 15 年前
        1
  •  1
  •   SáT Imran Arshad    15 年前

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

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

    这意味着不会重写以“images/”开头的URI。我想沿着“!这条线做一些事情会更安全!images/(.*).jpg$“这样就不会重写以“\images”开头、以“.jpg”结尾的URI。根据需要修改它,即指定多个扩展名(.jpe?g)(.gif)。

    我不是mod ou重写向导,我不太擅长regex,但这种方法对我很有用。

    推荐文章