Было бы лучше, если бы у вас был алгоритмический способ определить, был ли URL сокращенным или нет, не просматривая его в вашей базе данных и не сравнивая со всеми обычными URL сайта.Этот алгоритм просто должен быть чем-то, что позволяет вам изучить URL-адрес и сразу определить, является ли он сокращенным или нет.Если нет, вы отправляете его на маршрутизатор для URL-адресов вашего сайта, и если он там не совпадает, вы возвращаете 404. Если он соответствует формату для сокращенного URL-адреса, то вы ищите его в базе данных и переходите оттуда.
Алгоритм может быть любым, что вы хотите.Может случиться так, что все URL-адреса сайтов имеют один уровень пути: http://yourdomain.com/site/home
, или все сокращенные URL-адреса начинаются с какого-то магического символа, например x
, с которого ни один URL-адрес сайта никогда не начнется.Существует бесконечное количество возможных алгоритмов, которые вы можете придумать.Дело в том, что вам нужно иметь возможность быстро просмотреть URL-адрес с некоторым Javascript в вашем промежуточном программном обеспечении и определить, какой он есть, не просматривая ничего в базе данных.