这是我生命中最奇怪的问题,甚至谷歌也无法解决。它发生在用PHP编写的Apache驱动的网站上,它使用mod_rewrite(但这不是问题,我尝试删除.htaccess文件,问题仍然存在)。
如果我的查询字符串与=/id
完全相同或类似,我会得到501回复:
未实施的方法
获得/不支持。
此外,尝试时遇到404 Not Found错误 使用ErrorDocument来处理请求。
我从来没有写过这样的错误页面,从未发过501回复,没有丝毫的线索来自这个东西。最初我有一个很长的URL给我一个类似的错误,但我剥离了上面的这个小片段。如果我删除或更改任何字符,错误就消失了。
如果有帮助:我的网站是commentards.net,原始网址是openid登录请求,如下所示:
http://commentards.net/q/user/auth?openid_identifier=https://www.google.com/accounts/o8/id
查询字符串是:
openid_identifier = HTTPS:?//www.google.com/accounts/o8/Fid
答案 0 :(得分:2)
我问支持团队,他们说这是 mod_security ,并为我的网站禁用了它。现在它工作正常。我应该从那开始。无论如何,谢谢你的帮助。
答案 1 :(得分:-1)
也许如果您在没有任何GET参数的情况下删除错误 http://commentards.net/q/user/auth
然后urlencode您的查询 http://commentards.net/q/user/auth?openid_identifier=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid
答案 2 :(得分:-1)
Urlencode您的查询字符串参数。
https://www.google.com/accounts/o8/id 变 HTTPS%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2FFid
http://commentards.net/q/user/auth?openid_identifier=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2FFid工作正常,因此HerrSerker已经回答了你的问题。