RewriteRule无法读取png动态图片

RewriteRule can't read png dynamic image

我创建了一个 RewriteRule 以允许友好 url 在 htaccess 中注册:

RewriteRule ^signup$ signup.php

一切正常,尽管由验证码字段生成的 png 图像动态显示损坏 link。如果我 运行 这个脚本是原始的 signup.php 请求它工作正常。

验证码源类似于

?___event=getimage&___input=captcha&___image=6S024g%3D%3D%3A1430648449 

通过 rewriterule 请求脚本我收到此消息:

Resource interpreted as Image but transferred with MIME type text/html: "http://mysite.nil/signup?___event=getimage&___input=captcha&___image=6S024g%3D%3D%3A1430648449"

我已经尝试了所有方法,查看了 google 和 apache 日志但没有成功。

如有任何帮助,我将不胜感激。

或许您可以为验证码创建一个不同的 RewriteRule?

.htaccess Resource interpreted as Script but transferred with MIME type text/html

就像这里说的,也许你可以尝试用 .png 结束 link?

RewriteRule ^signup.png$ signup.php [QSA]

您的验证码源没有方案、域或资源部分:只有查询部分,浏览器将替换页面位置,导致请求.../signup?___event=getimage...apache 仅匹配在资源部分之前,因此您的模式可以保持不变,但是您需要告诉 apache 匹配通过使用 QSA 标志在重写后保留查询字符串。

RewriteRule ^signup$ signup.php  [QSA]