出于性能原因,是否值得用 Location、DirectoryMatch 等指令包围 Apache mod_rewrite 检查?

出于性能原因,是否值得用 Location、DirectoryMatch 等指令包围 Apache mod_rewrite 检查?

我目前有许多使用 mod_rewrite(Apache 2.2)的 Apache 重写规则。

当我打开重写日志时,我看到许多对文件重写条件的评估,而这些文件根本没有机会匹配重写条件。

例如,如果我有一系列重写条件,而这些条件不可能与我的文件匹配/context/chet.js,那么当我知道它们都不会匹配以提高性能时,我是否应该用某种类型的指令包围整个块,以<Location>绕过所有 RewriteCond?或者重写检查是否足够快,以至于这样做不值得?需要多少次重写检查才能使用这样的指令进行预评估<Location>

[23/Sep/2013:12:04:31 --0400] (2) init rewrite engine with requested uri /context/chet.js
[23/Sep/2013:12:04:31 --0400] (3) applying pattern '.*' to uri '/context/chet.js'
[23/Sep/2013:12:04:31 --0400] (3) applying pattern '^/context/xyz' to uri '/context/chet.js'
[23/Sep/2013:12:04:31 --0400] (3) applying pattern '^/context/abc123' to uri '/context/chet.js'
[23/Sep/2013:12:04:31 --0400] (3) applying pattern '^/context/testService/(.*)$' to uri '/context/chet.js'
[23/Sep/2013:12:04:31 --0400] (3) applying pattern '^/context/detect/(.*)$' to uri '/context/chet.js'
[23/Sep/2013:12:04:31 --0400] (1) pass through /context/chet.js

相关内容