apache - .htaccess 中可以有多少个 RewriteRules 而不会出现问题?

标签 apache .htaccess mod-rewrite limit

简单的问题。我的 .htaccess 中可以有多少个 RewriteRules 是否有限制,或者我可以在其中放置无数个 RewriteRules 而不会让 Apache 变得很奇怪吗?

由于有太多规则需要迭代,服务器简单地潜水是否存在相对限制?

谢谢!

最佳答案

你必须知道.htaccess configuration files are being processed on every request .

因此,如果您有一个包含 1000 条规则的 .htaccess 文件,最坏的情况是每次请求访问此目录时都会测试每 1000 条规则。

因此,您应该使用规则尽早匹配请求的结构。处理更频繁请求的规则应该出现在那些不太频繁的请求之前并确定处理(请参阅 L flag )。了解 ruleset processing了解规则的处理方式(另请参阅 RewriteLogLevel direcitve )。

另一个因素是正则表达式:最好使用“简单”且高效的正则表达式,而不是模糊或复杂的正则表达式。您应该研究正则表达式的解释和处理方式,以避免代价高昂的表达式并充分利用它们。

关于apache - .htaccess 中可以有多少个 RewriteRules 而不会出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/681810/

相关文章:

php - 调用未定义函数 'init_set'

apache - 如何在apache2中允许跨域请求

apache - RewriteCond内部的%N个反向引用

.htaccess 将 root 重定向到特定页面

php - CakePHP 应用程序在生产中指向 lib/Cake/Console/Templates/skel/View/Pages/home.ctp

c++ - 任何好的 C/C++ Web 工具包?

apache - .htaccess 重写带有问号的 URL

php - .htaccess 从站点根目录重定向到公用文件夹,在 URL 中隐藏 "public"?

.htaccess - 如何重定向到根目录但使用 https

php - htaccess mod_rewrite :- products. php?cat=1 到/myfolder1/myproduct1/