如何解释Apache Mod重写规则?

时间:2019-05-16 21:02:22

标签: apache mod-rewrite

我正在努力完全理解此规则,并希望确保自己没有猜​​测。

funny.cat.pictures.com是我愚蠢的尝试,隐藏了客户实际的4部分网址。我在启用站点的conf文件中找到了此规则。它是别人在我之前写的。

<Directory /var/www/active/vhost/funny.cat.pictures.com/html>
  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/sites/
    RewriteCond %{REQUEST_URI} !^/sites/funny\.cat\.pictures\.com/
    RewriteCond %{REQUEST_URI} !^/sites/funny\-cat\.pictures\.com/
    RewriteCond %{REQUEST_URI} !^/sites/all/
    RewriteRule ^ - [F]
  </IfModule>

我正确地说这条规则的含义是: 如果uri有/ sites /,但1)没有/ sites / funny [。或-] pictures.com或2)没有/ sites / all,然后将该路径阻止为禁止路径?

我理解正确吗?

感谢您的宝贵时间。

1 个答案:

答案 0 :(得分:0)

我从clive

学到了以下内容

Varnish是反向代理,而redis和memcache是​​内存中缓存;它们具有不同的用途,因此Varnish不能与其他产品相比。在我的经验中,Redis非常普遍,它仅取决于您托管的位置和/或设置者。例如,Platform.sh和Pantheon使用Redis,而Acquia则提供Memcache。无论是当时的选择取决于可用的知识资源,与平台堆栈的更好集成,时尚趋势还是其他因素,这几乎是不可能的。但是两者都被广泛使用