我有一个类似于此的URL时出现406 Not Acceptable错误:
www.example.com/search/find?q=YSBkZXJwIGZyb20gZGVycA~
似乎是由于单一的~
字符。我必须使用此函数base64_encode()
:
function base64_url_encode($string = null) {
return strtr(base64_encode($string), '+/=', '-_~');
}
因为普通的base64编码会生成一个不可解析的URL。
我浏览了一遍并发现了这个答案:PHP/Apache Error:406 Not Acceptable
其中说要禁用Mod_Security:
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
我知道我可能必须为上面的函数找到一个不同的重写,但是我怎么能解决这个问题,因为如果有任何办法又不会再次收到错误?