RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php?route=$1 [L,QSA]
public function redirect($url) {
header('Location: ' . $url);
exit;
}
redirect('http://' . $_SERVER['HTTP_HOST'] . '/ViewCollection');
Причем выглядит это так ( запрос - 302 пустой ответ - браузер выполняет get запрос по адресу, указанному в редиректе - получает html код).Это вы описали нормальную работу редиректа 301. Так он и должен работать.