如何在Apache中通过重写规则将图像文件名重写为查询字符串

如何在Apache中通过重写规则将图像文件名重写为查询字符串,apache,Apache,我正在尝试创建一个php脚本,它将检查图像是否是本地的,如果不是,则从远程站点检索它。我希望用户像这样调用图像 为了让它工作,我需要创建一个规则,将url重写为以下请求 我尝试了多种方法并通过进行了测试,但都失败了 不符合规定 我想取我的regexpr'/([{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-{3}[0-9a-fA-F]{12}[}]?)(.jpg)/m' 如果是meet,则将其转换为'image.php?id=${1}'如果不是,我想重定向到未找到的404

我正在尝试创建一个php脚本,它将检查图像是否是本地的,如果不是,则从远程站点检索它。我希望用户像这样调用图像

为了让它工作,我需要创建一个规则,将url重写为以下请求

我尝试了多种方法并通过进行了测试,但都失败了 不符合规定

我想取我的regexpr'/([{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-{3}[0-9a-fA-F]{12}[}]?)(.jpg)/m'
如果是meet,则将其转换为'image.php?id=${1}'如果不是,我想重定向到未找到的404页面

通过进一步研究,我能够解决我的问题。不确定这是不是最好的方法,但它确实有效。如果有人有改进的建议,我洗耳恭听

RewriteEngine On
RewriteBase /
RewriteRule ^/?([{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?+).(jpg|png|gif)$ /madia/image.php?id=$1&format=$3 [L]
RewriteRule (.*) /images/404.php?image=$1 [L]
只要图像名称是有效的guid,并且文件扩展名为jpg、png或gif,上述文件将接受任何图像请求。如果这个重写规则被命中,我们将退出,否则我们将执行404重写