I've just finished testing Chrome, IE, and Firefox and I have found that across the board, none of them preserve the HTTP_REFERER string in the case of a 301 redirect.
I also tested when clicking on a LINK from one domain to another and again, across the board, ALL OF THEM preserved the HTTP_REFERER string correctly.
Is this new standard behavior for all of the browsers? Can anyone else confirm that they are experiencing the same behavior?
Here is what I did to test:
On www.domainA.com in the .htaccess file:
RewriteEngine On
RewriteRule .* http://www.domainB.com [R=301,L]
On www.domainB.com in the .htaccess file:
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://www.domainA.com/$
RewriteRule .* http://www.somefakedomainname.com [R=301,L]
Then I visited www.domainA.com and watched what happened. I cleared the local cache for each of the browsers after updating the .htaccess files to test.
I then commented out the RewriteRule in the .htaccess file on the www.domainA.com domain and added a regular link pointing to www.domainB.com in the root index.html file for www.domainA.com.
In each case when I clicked on the link on www.domainA.com I got redirected to www.somefakedomainname.com after being directed to www.domainB.com.
In each case when I visited www.domainA.com WITH THE 301 REDIRECTION ENABLED, I got automatically redirected to www.domainB.com, but then I did NOT get redirected to www.somefakedomainname.com.
If a few of you guys could duplicate this test (or whatever method you'd like to use) and let us know if you're seeing the same behavior that would be awesome.
I did this with Bluehost.com being the hosting provider. I'm curious to see if somehow this is hosting specific (apache or IIS configuration related).
Thanks