.htaccess 文件大小重要吗?

.htaccess 文件大小重要吗?

我想知道文件大小是否.htaccess重要?我读到过一些文章说大.htaccess文件会降低网站性能。

我的.htaccess文件大小为51KB,其中500 lines主要包含RewriteCond %{HTTP_REFERER}用于阻止垃圾邮件引荐网站的规则。

但我没有注意到任何网站加载延迟或性能问题。

如果我将这 500RewriteCond %{HTTP_REFERER}行转换为 20 行,每行包含 25 个垃圾邮件引荐来源域名,使用()|符号分组,会有什么变化吗?

例如转换以下行:

RewriteCond %{HTTP_REFERER} hol\.es [NC,OR]
RewriteCond %{HTTP_REFERER} hys\.cz [NC,OR]
RewriteCond %{HTTP_REFERER} zzz\.com\.ua [NC,OR]
RewriteCond %{HTTP_REFERER} hypersito\.com [NC,OR]
RewriteCond %{HTTP_REFERER} tode\.cz [NC,OR]
RewriteCond %{HTTP_REFERER} mzf\.cz [NC,OR]

分为以下几个:

RewriteCond %{HTTP_REFERER} (hol\.es|hys\.cz|zzz\.com\.ua|hypersito\.com|tode\.cz|mzf\.cz) [NC,OR]

这会降低 CPU 负载并减少 CPU 周期吗?还是会保持 500 条独立线路不变?

答案1

有这么多规则,你真的应该接受Apache 文档中的建议铭记在心

.htaccess如果您有权访问 httpd 主服务器配置文件,则应完全避免使用文件。使用.htaccess文件会降低 Apache http 服务器的速度。任何可以包含在文件中的指令.htaccess最好都设置在目录块中,因为它会具有相同的效果,且性能更好。

.htaccess文件有两个主要的性能影响点:

  • 必须扫描目录树才能找到它们。只需关闭它们即可避免这种开销。
  • 文件中的每个规则都.htaccess需要针对每个请求进行评估,而将这些规则放在常规配置文件中意味着它们在 Apache 启动(或重新加载)时只会被评估一次。

因此,最好将这些规则放入主配置文件中。

但我没有注意到任何网站加载延迟或性能问题。

当然,这些性能考虑只有在负载较高时才有意义。对于大部分空闲的服务器,这不太重要,但如果负载很高,这将开始产生实际影响。

相关内容