我在 GitHub 上发布了一些网页代码,很多人使用它没有问题。但是,就在最近,有人联系我,让我知道他们遇到了图像无法正常显示的问题。该图像由 php 文件生成,我使用 .htaccess 重写在 URL 中将文件称为 .png,但在 Web 服务器上内部处理为 .php。
据我了解,apache 服务器默认情况下应在 URI 重写中包含原始查询字符串,但此人的 Web 服务器没有这样做。这是第一个报告该问题的人,我无法在我测试过的 Web 服务器上复制该问题。我不确定这个人的网络服务器环境。
这是用户报告的错误图像输出:
https ://freiezocker-clan.de/bf4stats/common/server-banner/image-banner.png?sid=1
上图中返回的结果表明需要服务器 ID。sid 在查询字符串中,但被忽略。在其他 Web 服务器上,它运行良好。
这是图像输出的样子(避免 .htaccess 重写时):
https ://freiezocker-clan.de/bf4stats/common/server-banner/image-banner.php?sid=1
这是我在用户报告问题之前的 .htaccess 实现:
RewriteEngine on
RewriteRule ^(.*)\.png $1.php [NC]
这是我尝试修复(没有成功)报告的问题:
RewriteEngine on
RewriteRule ^(.*)\.png $1.php?%{QUERY_STRING} [QSA,NC,L]
您能否向我解释为什么该用户的 Web 服务器不包含查询字符串和/或您能否帮助我实施一项更改,以纠正该用户的问题?
谢谢!