Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用重定向与重写规则对速度的影响_Regex_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Regex 使用重定向与重写规则对速度的影响

Regex 使用重定向与重写规则对速度的影响,regex,apache,.htaccess,mod-rewrite,redirect,Regex,Apache,.htaccess,Mod Rewrite,Redirect,我很想知道在Apache上的.htaccess规则中,重写规则和重定向在速度上是否有任何差异 在我看来,重写规则通常可能是复杂的正则表达式,我认为与简单的字符串匹配(?)的重定向相比,重写规则的开销(即使它非常小) 因此,如果我有: RewriteRule ^mytestpage\.html$ http://www.google.com [R=301, QSA] vs 我可能永远不会注意到有什么不同,但如果我有1000个独特的重定向呢?还是一万?使用其中一种方法是否冒险?使用其中一种方法对速度

我很想知道在Apache上的.htaccess规则中,重写规则和重定向在速度上是否有任何差异

在我看来,重写规则通常可能是复杂的正则表达式,我认为与简单的字符串匹配(?)的重定向相比,重写规则的开销(即使它非常小)

因此,如果我有:

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


我可能永远不会注意到有什么不同,但如果我有1000个独特的重定向呢?还是一万?使用其中一种方法是否冒险?

使用其中一种方法对速度的影响可以忽略不计,您不会注意到有什么不同。也就是说,你应该使用合适的工具来完成这项工作

在执行简单的重定向时,应该使用重定向,而不是使用Mod_Rewrite。这个例子是重定向应该注意的。当您需要开始做更复杂的事情时,可以考虑使用Mod_Rewrite

即使有1000或10000个重定向,你也不会真正注意到有很大的区别。然而,它将使用更多的内存。如果那样的话,可能会有几个MB

所以,为了回答你的问题,它确实不会产生真正的影响,但要为工作使用正确的工具

这应该会有所帮助


正如PanamaJack提到的链接,请说:

mod_alias提供了重定向重定向匹配指令,它们提供了 表示将一个URL重定向到另一个URL。这种简单的重定向 指向其他地方的URL或一类URL应该使用这些 指令而不是规则

所以,我是这样理解的:为了提高速度,使用重定向/重定向匹配(mod_别名)而不是RewriteRule(mod_rewrite)

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