0

我在 apache 文档、google 和 stackoverflow 上花费了相当多的时间,但我无法解决我的问题。这是一些背景知识:我将图像以 blob 格式存储在数据库中。我有一个名为 imageRender.php 的脚本,它接受图像名称作为查询字符串,并在图像标签中回显图像。

<img src='/script/imageRender.php?name=foo'/>

为了简化 src 属性,我尝试使用 apache mod_rewrite 将更简单的 src 映射到上面的那个。

<img src='image=foo'/>

我的相关重写代码是:

RewriteCond %{REQUEST_URI} image=(.*)$
RewriteRule . /scripts/imageRender.php?name=%1 [L]

重写日志的相关部分是:

(2) init rewrite engine with requested uri /image=foo
(1) pass through /image=foo
(3) [perdir M:/sample/website/] strip per-dir prefix: M:/sample/website/image=foo -> image=foo
(3) [perdir M:/sample/website/] applying pattern '.' to uri 'image=foo'
(4) [perdir M:/sample/website/] RewriteCond: input='/image=foo' pattern='image=(.*)$' => matched
(2) [perdir M:/sample/website/] rewrite 'image=foo' -> '/scripts/imageRender.php?name=foo'
(3) split uri=/scripts/imageRender.php?name=foo -> uri=/scripts/imageRender.php, args=name=foo
(1) [perdir M:/sample/website/] internal redirect with /scripts/imageRender.php [INTERNAL REDIRECT]

所以看来我的重写正在调用正确的 php 脚本;但是,重写日志的最后一行表明它没有将查询字符串附加到 uri。事实证明,我的所有图像都没有渲染。(我已经测试了我的 imageRender.php 代码,它在提供适当的查询字符串时可以完美运行)

在重写日志的倒数第二行中,为什么要拆分 uri

我哪里出错了?

任何帮助是极大的赞赏。

4

0 回答 0