奇怪的查询:“等斜杠id”(= / id)给出了奇怪的错误:501

时间:2011-09-28 16:41:37

标签: php apache http url query-string

这是我生命中最奇怪的问题,甚至谷歌也无法解决。它发生在用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

3 个答案:

答案 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已经回答了你的问题。