Cause:
[remote "repo"]
url = http://example.com/git/example.com?foo=bar
There is a question mark in the URL of the repo URL.
Effect (Taken from Apache logs):
[22/Sep/2014:14:12:07 -0400] "GET
/git/example.com?foo=bar/info/refs&service=git-receive-pack HTTP/1.1"
403 207 "-" "git/1.9.4.msysgit.1"
Git attempts to correct the issue by making the query string continue
using ampersands where it would have started the original query
string.
Expected outcome:
The git client should move the ?foo=bar onto the beginning (or end) of
the query string that it is creating. For example:
[22/Sep/2014:14:12:07 -0400] "GET
/git/example.com/info/refs?foo=bar&service=git-receive-pack HTTP/1.1"
403 207 "-" "git/1.9.4.msysgit.1"
This is caused on the git client, double checked with Wireshark. I
have not tested this on HTTPS, but imagine the output is the same.