在典型 LAMP 伺服器上永久重新導向大量 URL 的最佳方法

在典型 LAMP 伺服器上永久重新導向大量 URL 的最佳方法

我正在嘗試確定在效能和可操作性方面永久轉發大量網址的最佳方法。到目前為止,我可以想像三種可能的方式:

  • .htaccess 重寫規則
  • PHP 標頭函數在數組中尋找匹配的 url
  • PHP 頭函數侵入 MySql 資料庫

它不是轉發整個網域,而是僅轉發網域的某些 URL。例如,當產品名稱更改為某物還要別的嗎:

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

而網址如www.example.com/totally_differnt保持不變。

答案1

如果您尋求可管理性和效能之間的最佳點,我建議採用兩步驟流程(我們對 HTTP 路由配置使用相同的流程):

  1. URL 存在於資料庫中以便於維護
  2. 腳本(bash、PHP 等等)從資料庫和範本建立 PHP 腳本,定義一個數組,其中原始路徑作為鍵,新路徑作為值,然後查找請求的文件路徑,如果找到則重定向到新的,如果不顯示404。
  3. 產生的腳本用作 404 後備

如果您使用 HHVM 或操作碼緩存,速度會非常快:程式碼本身已準備就緒,所需要做的就是雜湊表查找。

相關內容