Php 将图像URL请求重定向到另一个,而不更改URL
在我的站点上进行漏洞审计后,我发现一个错误的图像具有类似于Php 将图像URL请求重定向到另一个,而不更改URL,php,.htaccess,redirect,Php,.htaccess,Redirect,在我的站点上进行漏洞审计后,我发现一个错误的图像具有类似于ABC.php.jpg的扩展名 我已将其重命名为ABC.jpg 现在的问题是,已经发送了大约10万封邮件,我们保留了邮件的日志(将全部内容保存在DB中),并在需要时提供给更高的权威机构(使用DB中的内容触发邮件) 所以我不能在每封邮件中都更改URL。我想要的是,通过URLABC.php.jpg访问URL(ABC.jpg)。 我已经用htaccess文件实现了一些规则,但它们只是重定向URL,这样邮件中的图像就不会加载。如果希望脚本加载图像
ABC.php.jpg的扩展名
我已将其重命名为ABC.jpg
现在的问题是,已经发送了大约10万封邮件,我们保留了邮件的日志(将全部内容保存在DB中),并在需要时提供给更高的权威机构(使用DB中的内容触发邮件)
所以我不能在每封邮件中都更改URL。我想要的是,通过URLABC.php.jpg
访问URL(ABC.jpg)。
我已经用htaccess文件实现了一些规则,但它们只是重定向URL,这样邮件中的图像就不会加载。如果希望脚本加载图像,可以在ABC.jpg.php中执行以下操作:
<?php
echo file_get_contents("path/to/abc.jpg");
我猜你的mod_重写规则中有重定向标志[R]
例如:
RewriteRule ^ABC.php.jpg $1/ABC.jpg [R=301,L]
只需删除该标志,它就可以加载内容而无需重定向
RewriteRule ^ABC.php.jpg $1/ABC.jpg [L]
根据jeprubio的回答,我发现我们通常使用这个htaccess规则
RewriteRule ^ABC.php.jpg $1/images/ABC.jpg [R=301,L]
其中R用于重定向,L用于停止进一步处理规则集,因此基本上,如果我们从规则中删除R规则,它将不会重定向到新的URL。
取而代之的是,它将在点击旧URL的同时提供来自新URL的响应,因此最终规则如下所示
RewriteRule ^ABC.php.jpg $1/images/ABC.jpg [L]
你能发布一些相关的.htaccess规则吗?重定向302/ABC.php.jpg/ABC.jpg这将重定向URL,这是一个不同的方面。我是这样做的:重写规则^ABC.php.jpg$1/ABC.jpg[L]它不会伤害任何其他URL,对吗?是的,它只影响与^ABC.php.jpg
模式匹配的URL。很乐意帮忙
RewriteRule ^ABC.php.jpg $1/images/ABC.jpg [L]