更快的重定向,PHP还是htaccess?

时间:2011-10-04 15:56:31

标签: php apache .htaccess

什么是更快速重定向特定(特定)页面,PHP或htaccess的方法?考虑到许多不同的页面可能需要在高流量站点上进行此类重定向。例如什么是更快:

PHP(不涉及数据库查询,只是简单的普通php重定向)

header("Location: /new.php",TRUE,301);

htaccess的

redirect 301 old.php http://site.com/new.php

3 个答案:

答案 0 :(得分:7)

在调用php之前处理

.htacess,所以如果你可以创建它,它肯定会更快

答案 1 :(得分:6)

取决于。通常,.htaccess会更快,因为你不会有调用PHP的开销。但是 - 如果您在文档根级别的单个.htaccess文件中有1000个重定向,那么Apache将需要在每个页面加载时检查它们中的每一个。即,不仅仅是服务index.php,你现在必须进行1000次正则表达式检查,然后服务于index.php。总的来说,我会说,如果你有很多重定向很多页面都不会被重定向,那么就用PHP做。在这种情况下,您不需要为不需要重定向的页面支付任何额外开销。

答案 2 :(得分:2)

如果完全使用htaccess,Apache将在任何PHP处理开始之前处理它。我还没有完成使用其中一个的基准测试,但是当两者都存在时,htaccess总会更快。

另请注意,可以使用正则表达式编写htaccess重定向以应用于多个旧文件,从而减少您的工作量。