I have a rather simple rewrite I am trying to implement but it does not work the way I want it too.

Code:
RewriteEngine on
RewriteRule ^([0-9]+)/([0-9]+)/$ /index.php?id=$1&arc=$2 [r=301,L]

What I want is enter: http://www.mywebsite.com/2009/3/ and get

http://www.mywebsite.com/index.php?id=2009&arc=3

I want my server to see the second (real) address, but the users browser to see (keep) the original address. The browser gets redirected to the php address instead of keeping the more friendly address. What am I doing wrong?