[eluser]Buso[/eluser]
Code:
class MY_URI extends CI_Uri {
public function __construct() {
parent::CI_URI();
}
function _filter_uri($str) {
if ($str != '' && $this->config->item('permitted_uri_chars') != '' && $this->config->item('enable_query_strings') == FALSE) {
if ( ! preg_match("|^[".str_replace(array('\\-', '\-'), '-', preg_quote($this->config->item('permitted_uri_chars'), '-'))."]+$|i", $str)) {
$str = 'non-existent-uri';
}
}
return $str;
}
}
Basically you return a non-existent uri when you find disallowed characters. Then you let the Router class handle that as a 404.