regex - 使用 Redirect 与 RewriteRule 的速度影响

标签 regex apache .htaccess mod-rewrite redirect

我很想知道在 Apache 上的 .htaccess 规则中,RewriteRules 和 Redirect 之间的速度是否有任何差异。

在我看来,RewriteRules 通常可以是复杂的正则表达式,我认为与 Redirect 相比会有开销(即使它非常小),这将是简单的字符串匹配(?)

所以,如果我有:

RewriteRule ^mytestpage\.html$ http://www.google.com [R=301, QSA]

对比

Redirect 301 /mytestpage\.html http://www.google.com/

我可能永远不会注意到差异,但如果我有 1000 个唯一重定向怎么办?还是 10,000?将其中一个用于另一个会冒险吗?

最佳答案

使用其中任何一种对速度的影响都可以忽略不计,您不会注意到任何差异。话虽如此,您应该使用正确的工具来完成这项工作。

做一个简单的重定向,你应该使用重定向而不是使用 Mod_Rewrite。该示例是重定向应该处理的事情。当您需要开始做更复杂的事情时,您可以考虑使用 Mod_Rewrite。

即使有 1000 或 10,000 次重定向,您也不会真正注意到很大的不同。但是它会使用更多的内存。如果那样的话,可能只有几MB。

所以回答你的问题,它真的不会产生真正的影响,但使用正确的工具来完成工作。

这应该有所帮助。

When not to use mod_rewrite

关于regex - 使用 Redirect 与 RewriteRule 的速度影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24203065/

相关文章:

c++ - 正则表达式:拆分到路径的最后一次出现

apache - codeigniter 中的 500 内部服务器错误

linux - 从源代码编译 LAMP - apache2 错误 "no MPM package installed"

php - 我的 sef 链接如何使用 .htaccess

apache - 如何从 Apache .htaccess 创建虚拟主机?

wordpress - 使用 .htaccess 将 WordPress 上传文件夹重定向到 s3 存储桶

regex - 正则表达式从查询字符串中删除一个参数

java - java中日期的正则表达式

php - .htaccess 错误重定向到另一个目录

regex - perl + 仅当与行中的字符串完全匹配时才删除该行