Лучший способ постоянного перенаправления большого количества URL-адресов на типичном сервере LAMP

Лучший способ постоянного перенаправления большого количества URL-адресов на типичном сервере LAMP

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

Связанный контент