在我的.htaccess文件中,我看起来像这样:
重写引擎
RewriteCond%{HTTP_USER_AGENT} bigbadbot [NC,OR]
RewriteCond%{HTTP_USER_AGENT} otherbot1 [NC,OR]
RewriteCond%{HTTP_USER_AGENT} otherbot2 [NC]
RewriteRule ^。* - [F,L]
第一个重写规则(bigbadbot)每秒处理大约100个请求,而在其下面的另外两个重写规则每小时只处理几个请求。
我的问题是,由于第一个重写规则(bigbadbot)处理大约99%的stream量,将这些规则放在两个单独的规则集中会更好吗?
例如:
重写引擎
RewriteCond%{HTTP_USER_AGENT} bigbadbot [NC]
RewriteRule ^。* - [F,L]
RewriteCond%{HTTP_USER_AGENT} otherbot1 [NC,OR]
RewriteCond%{HTTP_USER_AGENT} otherbot2 [NC]
RewriteRule ^。* – [F,L]
在性能方面什么会更好? 有没有人以此为基准?
它应该基本上没有性能差异,因为一旦一个Cond在OR块中匹配,其余的不会被处理(没有意义)。 从技术上来说,首先由于OR块的处理而做了一些处理,所以我认为把它分解出来会更有效一些。
如果你有性能问题,我会把我的努力集中在其他地方。 也许分析你正在服务的任何应用程序。 另外,如果托pipe,主机可能只是在同一台服务器上有太多的网站。