apache - 当 URL 包含百分号 % 符号时如何停止错误 400? ( Apache )

标签 apache http mod-rewrite

当请求包含百分号 % 符号的 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

是的,您必须对放入 url 中的任何字符进行 urlencode,如果它们不具有特殊含义的话。

例如在 PHP 中:

$string = urlencode('%');

仅供引用 % 被编码为 %25:https://twitter.com/%25

关于apache - 当 URL 包含百分号 % 符号时如何停止错误 400? ( Apache ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7076709/

相关文章:

apache - htaccess 重定向

python - 使用 mod_wsgi 将 Flask 服务器移至生产环境

apache - 使用 httpd.conf 配置将 WWW 添加到 URL

java - 在 Spring Boot 中使用响应实体登录 Facebook 后无法重定向

c# - WebAPI 是否支持按 block 读取分块请求?

c - 使用 winHttpApi 或套接字发送大文件是否明智?

apache - 如果 REQUEST_URI 以某些内容开头则重定向

apache - .htaccess 的 RewriteRule,末尾带有斜杠

php - 如何调试似乎没有运行的 PHP CRON 脚本?

apache - 屏蔽后的网址不显示图像