即使与 RewriteCond 不匹配,mod_rewrite 也会改变大小写?

即使与 RewriteCond 不匹配,mod_rewrite 也会改变大小写?

我的 MediaWiki 出现了一个非常奇怪的问题,我想拥有以下形式的文章mywiki.org/MyArticle。现在我使用以下代码使它大部分工作正常,但它却神秘地无法再显示徽标。

RewriteEngine On
# don't rewrite valid requests to files and directories
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
# mywiki.org/MyArticle gets rewritten to mywiki.org/index.php/MyArticle
RewriteRule ^/(.*)$ /index.php/$1 [L,QSA]

现在,当我在浏览器中输入时,mywiki.org/img/logo.jpg地址变为http://wiki.geoknow.eu/Img/logo.jpg(大写 I),并且我进入空白的文章页面,但图像肯定在那里(在我的文档根目录下的 img 文件夹下):

/var/www/mywiki.org$ ls img
logo.jpg

到目前为止还不错。但现在情况变得非常疯狂:当我添加RewriteCond %{REQUEST_URI} !^/.*\.jpg我的地址时仍然被重写我的访问日志显示

- - [05/Dec/2012:16:30:21 +0100] "GET /Img/geoknow_logo.jpg HTTP/1.1" 404 509 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Firefox/17.0"

Img 中的大写字母 I 是从哪里来的?该规则甚至没有执行,因为现在至少有一个条件肯定不满足,而且我也没有在任何地方定义任何小写转换。那里发生了什么,我该如何修复?

PS:现在问题突然消失了(图像显示正常,不再有大写替换。这是什么原因造成的,为什么它会自发出现和消失?

相关内容