Not sure if this is an IIS issue or if it happens on all servers, btu looking at the headers GR returns I see this for a status code
HTTP/1.x 301
Every server I know of returns the following natively.
HTTP/1.x 301 Moved Permanently
I'm not sure if it is any issue anywhere, but it would be better to conform to the standards of what all other applications are doing. Not so much because of the problems we know this can create, but instead it's better to cover the problems we aren't aware this might create.
I see in the code your using the drupal_goto api call which uses the native PHP function "header"
drupal_goto($request, $query_string, NULL, 301);
I think the 301 should be changed to
HTTP/1.0 301 Moved Permanently
or
HTTP/1.1 301 Moved Permanently
I'm not sure why 1.1 or 1.0 would be used over the other so I leave that to smarter programmers than I.
Comments
Comment #1
JeremyL commentedNevermind. I tried to patch GR myself but it looks like it's something that PHP & Windows are doing based on the format we are sending the headers with.
If the redirects are formatted this way it works perfect
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.spendonlife.com" );
That's something that would need to happen at the drupal_goto level though.
Comment #2
sunThis cannot be fixed by GR. Please file a new issue against Drupal core, if you are 100% sure that this bug exists on all IIS servers.