.htaccess有没有限制?

大家好。 我只是想知道Apache 2的.htaccess文件是否有限制。我正在研究一个caching插件,并且认为使用.htaccess文件指向生成的静态html文件可能是一个好主意。

那么,有没有人试图达到极限? 请问.htaccess工作正常与5,000 mod_rewrite规则? 大约10000? 20000? 我的一个朋友说他在一个有40万个post的博客上工作。 那会有用吗?

谢谢,

〜@kovshenin

我敢肯定,你可以使用多lessmod_rewrite规则没有硬性限制; Apache将基本上看到.htaccess文件,并按顺序通过mod_rewrite规则运行

但是,您可能遇到一些限制:

  1. 文件大小。 .htaccess文件的大小可能有2GB或4GB的限制。 基于内存可能会有一个较低的有效限制(.htaccess文件可能会被读入内存)
  2. 时间。 每个mod_rewrite需要一些时间来处理(即使不匹配),最终你会得到足够的,你可以在几秒钟内测量时间,这将是非常糟糕的。

您可能想要探索RewriteMap指令并设置一个散列文件,并将您的20,000个mod_rewrite规则减less为一条查找20,000条目散列文件数据库中的条目的规则。

如果您是服务器pipe理员,则不应使用Apachebuild议的.htaccess。 .htaccess文件中的所有内容都可以并且应该位于configuration中的<Directory>块中。 原因是,Apache将在每次请求读取和parsing该文件之前,硬盘驱动器上的内容。 这是一个非凡的performance。

那么,你会在你的configuration中放置20000行,以便通过内存加载吗? 您最好将规则存储在数据库中。

推荐阅读: http : //httpd.apache.org/docs/2.0/howto/htaccess.html