【问题标题】:redirecting site in php and htaccess, differences?在 php 和 htaccess 中重定向站点,区别?
【发布时间】:2014-10-23 07:56:29
【问题描述】:

这两个代码之间有什么不同(对于谷歌机器人等)吗?

PHP:

// 301 Moved Permanently
header("Location: /foo.php",TRUE,301);
exit;

和

.htaccess

RewriteRule ^site1.php$ http://www.example.pl/text.html [R=301,L]

【问题讨论】:

    标签: php .htaccess http-status-code-301 redirect


    【解决方案1】:

    它们都生成Location HTTP 标头和 301 状态代码,Google 无法知道在此过程中使用了哪些工具。您的 PHP 版本缺少协议前缀和主机名,因此它在技术上是无效的(根据相应的 RFC),但它是一种广泛的误用,无论如何所有浏览器都会做正确的事情。而且代码无论如何都可以修复。

    不了解 Apache,但 PHP 的性能往往会在每个主要版本上大幅提高。当然,您精确的服务器资源和负载可能会比大多数其他因素产生更大的影响。所以我认为在这样的一般术语中更快是没有意义的。给定你的服务器,运行基准测试并找到你的数据。

    此外,如果高性能是必须的,您还可以考虑跳过 mod_rewrite 并使用其他内容,例如 mod_headers 及其 Header 指令。或者放弃 Apache 并切换到例如nginx ;-)

    【讨论】:

      【解决方案2】:

      这些重定向方法没有什么不同,只是如果你使用 PHP 返回 301 头,执行 PHP 解释器需要一些额外的时间。使用.htaccess时,不会调用PHP解释器。

      【讨论】:

      • 如果您可以编辑您的http.conf,则不要使用.htaccess,请使用vhost 并在其中添加您的重写规则。如果您使用共享托管服务,我认为.htaccess 比PHP 解决方案更好。
      猜你喜欢
      • 2010-12-09
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 2015-05-06
      • 2015-06-15
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多