我最近才注意到这个。。
我在 base64 编码上使用 urlencode 来通过 url 发送加密的图像链接,因此 url 中有一些 %2B 即 + 符号。
当我在 php 中通过 GET 访问 url
image.php?q={encoded}
当我执行 $_GET['q'] 时,我得到了正确的数据,而无需对其进行 urldecoding,即 %2B 将被翻译为 + 等....
但我最近写了一个像这样的htaccess
RewriteRule ^image/(.*)?$ image.php?q=$1 [NC,L]
当我访问 $_GET['q'] 数据时...所有 %2B 都已替换为空格等...所以我需要运行
str_replace(' ','+',$_GET['q'])
然后解密得到图片链接..
知道为什么会这样吗?...我需要在 htaccess 中设置一些默认标准吗?感谢任何帮助。