Мой сайт многоязычен, и если пользователь запрашивает страницу без указания двухбуквенного языкового кода, он будет перенаправлен на нужный язык (с использованием IP или предыдущих настроек cookie).Например, вы можете попробовать перейти на http://colnect.com и увидеть, что вы будете перенаправлены на colnect.com/en или colnect.com/es или другие (поддерживаются 53 языка).
ПРОБЛЕМАкогда я получаю поддельные запросы (в основном от ботов), такие как colnect.com/fdlghsweru, мой код перенаправления сначала перенаправляет его (код 302) на colnect.com/en/fdlghsweru, который затем возвращает 404. Это означает: * Вместо двух запросоводного -> больше нагрузки на сервер * Некоторые боты либо позже попробуют colnect.com/fdlghsweru, либо даже поверят, что он существует
Код, который я сделал, в данный момент находится в MyUser :: setCulture ()
Есть ли хорошее место, где я могу найти код только тогда, когда я знаю, что действие собирается быть выполненным, а не получить 404?
ОБНОВЛЕНИЕ: в настоящее время я проверяю свой код, если $ sfRequest-> getParameter ('module') - один из допустимых модулей в моем приложении.Это относится к большинству поддельных запросов, но не к запросам, созданным неисправными ботами, которые добавляют фиктивные параметры к существующим URL-адресам.
Спасибо