简单的mod_rewrite正在删除我的查询字符串

时间:2013-05-30 07:45:47

标签: mod-rewrite

我在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

我哪里出错?

非常感谢任何帮助。

0 个答案:

没有答案