Лучший способ перенаправить множество URL-адресов на типичный сервер LAMP

Я пытаюсь определить лучший способ для перенаправления большого количества URL-адресов на постоянной основе с точки зрения производительности и работоспособности. Таким образом, есть 3 возможных способа, которыми я мог представить изображение:

  • .htaccess RewriteRule
  • Функция заголовка 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 или кэш кода операции, это невероятно быстро: сам код готов, и все, что нужно сделать, - это поиск по хешу.

Другие вопросы по тегам