.htaccess redirect sem alterar a barra de endereços

Eu estou tentando escrever uma regra de .htaccess para redirect para um script, que ainda redireciona para outro lugar. Mais ou menos como os encurtadores de URL funcionam. No entanto, não quero que a barra de endereço seja alterada durante a parte .htaccess do redirecionamento. (Está tudo bem para o redirecionamento de script para alterar o local.)

Estou usando mod_rewrite , atualmente fazendo isso:

 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteBase / RewriteRule (.+)$ "?url=$1" [L,R=301] 

Existe uma bandeira ou outro método que eu possa usar para conseguir o que estou tentando fazer?

Adendos : a barra de localização não muda no Firefox quando os redirecionamentos estão acontecendo, que é o que eu quero fazer. Apenas muda uma vez para refletir o ponto final. O Safari muda isso a cada passo . Alguma maneira de evitar isso?

Se você estiver usando o sinalizador R você está informando ao mod_rewrite que um redirecionamento externo é o que você deseja, portanto, o navegador é solicitado a fazer uma nova solicitação e a barra de endereço deve ser alterada de acordo.

Sem o sinalizador R , não há redirecionamento, mas uma reconfiguração de solicitação interna do Apache oculta do navegador. Assim, a barra de endereços não será alterada. No entanto, você não pode usar redirecionamentos internos para URIs externos por motivos óbvios.

Já que você parece usar um redirecionamento interno, basta remover o sinalizador R e funcionar:

 RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (.+)$ ?url=$1 [L]