Mod rewrite 简单的mod_重写正在删除我的查询字符串

Mod rewrite 简单的mod_重写正在删除我的查询字符串,mod-rewrite,Mod Rewrite,我在apache文档、google和stackoverflow上花了相当多的时间,我无法解决我的问题。以下是一些背景:我正在以blob格式将图像存储在数据库中。我有一个名为imageRender.php的脚本,它接受图像名称作为查询字符串,并在图像标记中回显图像 <img src='/script/imageRender.php?name=foo'/> 重写日志的相关部分包括: (2) init rewrite engine with requested uri /image=fo

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

<img src='/script/imageRender.php?name=foo'/>
重写日志的相关部分包括:

(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

我哪里出错了


非常感谢您的帮助。

我想引擎必须拆分url才能处理可选的其他请求参数。也许可以尝试使用
QSA
标志?我已经尝试过QSA标志;然而,这并不能解决问题。当我第一次在Apache文档中读到QSA标志时,我认为这会起作用,但QSA标志只有在附加了多个查询字符串时才生效。我只是尝试了一下,对我来说,你的重写规则工作正常。。。我现在试着找出与你尝试的不同之处……这条规则很好,问题一定在其他地方。我建议您将
RewriteLogLevel
提高到高于
3
的水平。有没有进一步的规则,特别是关于你设置的目录
脚本
的规则?我是个白痴。。。。我的目录是单数“script”,但我的重写规则是引用目录“scripts”。我做了调整,效果很好。我为这个明显的错误道歉。谢谢你们的帮助和回复——没有你们的回复,我是不会注意到拼写错误的。
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]