如果URL包含%百分比符号,如何停止错误400? (Apache)的

当请求包含百分比%符号的URL时,是否有一种简单的方法可以防止服务器返回错误400(错误请求)?

许多主要网站都存在同样的问题,例如:http://twitter.com/%http://bing.com/%

但其他网站已修复此问题并返回自定义错误页面,而不是标准服务器响应,例如:http://facebook.com/%http://google.com/%

是否有一种简单的单一方法来逃避单个字符%符号返回400错误,而是在Apache中使用mod_rewrite或类似的自定义错误文档返回404错误?

最佳答案

Is there a simple, single way to escape a single character % symbol from returning a 400 error

是的,如果不希望它们具有特殊含义,则必须对您放入网址的任何字符进行urlencode.

例如在PHP中:

$string = urlencode('%');

FYI%编码为%:https://twitter.com/%25

点赞