在典型的 LAMP 服务器上永久重定向大量 URL 的最佳方法

在典型的 LAMP 服务器上永久重定向大量 URL 的最佳方法

我正在尝试确定在性能和可操作性方面永久转发大量 URL 的最佳方法。到目前为止,我能想到的可能方法有 3 种:

  • .htaccess 重写规则
  • PHP 标头函数在数组中查找匹配的 URL
  • PHP 标头函数查找 MySql 数据库

这不是要转发整个域名,而是只转发域名的一些 URL。例如,当产品名称从某物还要别的吗

www.example.com/something > www.example.com/anything_else

而 URL 类似www.example.com/totally_differnt保持不变。

答案1

如果您追求可管理性和性能之间的最佳平衡,我建议采用两步流程(我们对 HTTP 路由配置使用相同的流程):

  1. URL 存在于数据库中,便于维护
  2. 脚本(bash、PHP 等)从数据库和模板创建一个 PHP 脚本,定义一个数组,以原始路径为键,以新路径为值,然后查找请求的文档路径,如果找到则重定向到新路径,如果没有则显示 404。如果数据库发生变化,则运行此“脚本创建脚本”
  3. 生成的脚本用作 404 后备

如果您使用 HHVM 或操作码缓存,速度会非常快:代码本身已经准备好了,需要做的就是哈希表查找。

相关内容