Лучший способ перенаправить множество 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):
- URL-адреса существуют в базе данных для удобства сопровождения
- Скрипт (bash, PHP, что угодно) создает скрипт PHP из БД и шаблона, определяя массив с исходным путем в качестве ключа и новым путем в качестве значения, затем просматривая запрошенный путь к документу и, если он найден, перенаправляет на новый, если не отображается 404. Этот "скрипт создания скрипта" запускается, если изменяется БД
- Сгенерированный скрипт используется как запасной вариант 404
Если вы используете HHVM или кэш кода операции, это невероятно быстро: сам код готов, и все, что нужно сделать, - это поиск по хешу.