【发布时间】:2011-05-27 17:29:40
【问题描述】:
在为加快我的网站速度而进行的长期疲惫的追求中,我发现重定向有问题:目前我的 index.php 通过 PHP 标头位置 301 永久重定向处理所有主页重定向: website.com >> website.com/en/home 和 website.de >> website.de/de/home etcettera etcettera(这个多语言网站大约需要 20 个)从 200 毫秒到 6000 毫秒的任何时间来进行重定向。看看瀑布!
之后,页面在闪电般的眨眼间加载! 你不会说什么浪费时间?服务器一直在做什么? 仔细检查后,我的最佳猜测是:它正在洗衣!
我几乎为此放弃了 PHP! 非常欢迎任何和所有关于我令人费解的问题的线索 +1
A.给定事实:Apache/2.0.54 Fedora,PHP 5.2.9。没有数据库:只有包含大约 15 个 php 的扁平 php 文件,这些文件用页眉和页脚完成了我的页面)。 Y慢等级:92/100!好页面速度:93/100! javascript和css尽可能结合。缓存控件似乎也设置得很好(由成绩证明)。 100 分中有 7 分缺少什么:不使用 Keep-Alive(超出我对共享主机的控制范围,不使用 Content Delivery Network。我可以忍受缺少的 7 分,但这是对速度的重大打击!
B.此外:我最近在这里得到了很好的见解,我应该通过 htacces 使用 url 重写。点了,但是,也许这里有一些 else 错误,我应该在继续对我来说更困难的 apache 正则表达式语法之前进行更正。
C.更快的方式:当我 php include 预期的主页时,而不是重定向,然后所有加载都很快,但 url 没有被重写:它位于浏览器栏上的 website.com,而我希望在包含它之后成为网站。 com/en/home。这可以用PHP吗?要包含+更改url的当前地址吗?
结论:您可以使用 index.php 或使用 .htaccess 进行重定向。从我的测试来看(来自下面的天才答案!谢谢大家!)后者的速度似乎无与伦比:重定向比 php 重定向快得多!将重定向减少到比第一次 dns 查找更短。
【问题讨论】:
-
发送标头不会停止脚本运行。
-
我有支持这张瀑布图片。
-
没有一个,也没有两个,而是三个徒手画圈。我的天啊。瞬间喜欢。
-
@Bolt 真的吗?如果图像太小而无法阅读,我通常会尝试单击它。这真的需要指出吗? :)
-
这一定是我在 SO 上见过的最好的图片之一。
标签: php header location redirect