Почему когда я делаю переадресацию из корневой папки на конкретную страницу в .htaccess: redirect 301 / http://site/news.php/
в адресной строке дублируется название страницы
redirect 301 ^/& http://site/news.php/
В Вашем варианте редирект будет происходить всегда, когда в uri есть слеш.
Нужно указать метки начала строки (^) и конца строки (&)