De entrada te sugiero cambiar la regla del .htaccess a algo como:
Código Apache:
Ver originalRewriteRule ^(.*)$ index.php [L,QSA]
No recuerdo qué hace la parte del [L,QSA], pero evitas incluir el ? en la URL que interpretará PHP.
Luego, en tu controlador:
Código PHP:
Ver original// Obtienes la URL real, no la que proporciona APACHE:
$url = $_SERVER['REQUEST_URI'];
// Incluso puedes revisar si estás recibiendo parámetros por $_GET