Я пишу веб-сайт в Mojolicious, которому необходимо перенаправить определенные файлы в зависимости от имени домена. То есть:Домен, зависящий от маршрутизации в Mojolicious
mydomain.com/foo -> controllerA#foo
mydomain.es/foo -> controllerB#foo
документация дает следующее решение:
$r->get('/foo')->over(host => qr/mydomain\.com/)->to('controllerA#foo');
$r->get('/foo')->over(host => qr/mydomain\.es/)->to('controllerB#foo');
Но и предупреждает меня, что это будет отключить кэширование маршрута.
Есть ли лучший способ сделать это? А если нет, то насколько плохо, что кэширование маршрута отключается? Этот веб-сайт должен иметь возможность обрабатывать множество запросов (до 10.000/час), поэтому я мог предположить, что кеширование маршрутов было предпочтительным.
Спасибо!
Вы нашли приемлемый подход? –
К сожалению, нет. Я закончил писать крючок, переписывающий URL-адрес, как вы предлагали, прежде чем отправлять его маршрутизатору, но это не идеальное решение, потому что все внутренние вызовы mojo (например, url_for) теперь вернут неправильный URL-адрес (он вернет mydomain.com/ foo/es, а не mydomain.es/foo). Я думаю, что корень проблемы - это просто отсутствие междоменной маршрутизации в модуле кэширования mojo. – JeppeHallgren