Я работаю в проекте CodeIgnitier. У нас много данных с неправильной конфигурацией, поэтому многие URL содержат символы Unicode и другие нежелательные символы.
Очистка всех данных займет несколько месяцев, и я хочу избежать 400 ошибок из-за allow_uri_chars . Ресурсы доступны, если я удалю нежелательные символы. Я хотел бы автоматически удалить эти символы.
Я пытаюсь поместить следующий код в application / config / rout.php:
if ($this->uri->total_segments()) {
foreach (range(1, $this->uri->total_segments()) as $i) {
if ($this->uri->segment($i)) {
$this->uri->segments[$i] = preg_replace("#[^".$this->config->item('permitted_uri_chars')."]#i", "", $this->uri->segments[$i]);
}
}
}
Но я получаю ошибку 400. CodeIgniter контролирует URL-адреса перед тем, как передать маршруты. Php. Где я могу разместить свой код, чтобы избежать 400 ошибок?
Могу ли я сделать это в хуке pre_system?