如何为庞大的巨大网站实现网址重定向

时间:2015-09-09 17:19:18

标签: apache .htaccess url redirect

我的网站,例如carparts.co.uk有355000个独特的网址。 (这是一个汽车零件目录网站)(在网站管理员工具上,它显示其中有174000个被编入索引)

我们希望将我们的网站迁移到新的购物车平台(prestashop),并完全改变了目录的结构,这意味着我们现在有了一组新的网址。 (虽然主域名没有变化,仍然是carparts.co.uk) 我现在有一张excel表格,其中我有一个355000'旧'网址列与新目录中最接近的等价网址相匹配。 e.g。

old url: "carparts.co.uk/ford-ranger-alternator belts.htm"
goes to: "carparts.co.uk/belt-drive"

(并且有355,000个类似的重定向)

我的问题是我应该怎么做? 我知道你可以使用htaccess来做这件事,但是我很担心,因为我已经知道htaccess会减慢网站的速度,如果它非常大(这种缓慢只会在尝试访问其中一个旧网址时受到限制吗?)或者它会影响我所有网址的速度吗?

那么对于我这么多网址来说,最好的办法是什么呢?

1 个答案:

答案 0 :(得分:0)

使用htaccess会降低网站速度,因为它需要为每个请求检查多个文件,并针对每个请求动态检查这些文件。

对于深度路由网站来说,这更是一个问题。例如,请求:

www.example.com/folder1/folder2/folder3/folder4/index.htm

需要检查

  • 主配置文件。
  • 然后在文档根目录中添加任何覆盖 htaccess文件。
  • 然后在folder1 htaccess文件中添加任何覆盖。
  • 然后在folder2 htaccess文件中添加任何覆盖。

...等

然而,如果你没有深层筑巢,那就不是那么糟糕了。仍然比不使用它们慢,但在大多数网站上可能并不明显。

htaccess对你的好处,意味着你不需要将所有重定向放在一个地方,并且可以在htaccess文件中拆分它们。我不确定将355,000重定向添加到主Apache配置的影响,但它是一个公平的数字,所以想象它可能会对性能产生影响。另一方面,htaccess文件在请求时动态读取,因此不需要将所有重定向加载到Apache中。

因此,这可能是htaccess可能是更好解决方案的少数用例之一,即使您确实可以访问主配置文件。