Codeigniter windows 服务器 web.config - 如何从 url 转义 .jpg 或图像文件

Codeigniter windows server web.config - how to escape .jpg or images files from url

我在 Windows 服务器上有一个 codeigniter 网站,在我使用 web.config 文件后它似乎运行良好。但问题是我无法在 url 中传递 .jpg 文件。在我的管理部分有一个删除图像的功能,如下所示;

site.com/admin/news/delete_file/image/23b90-gallery.jpg?_=1451204170539

哪个 returns 我一个 404 找不到错误。

如果我删除'|jpg|jpeg|png|gif|'从 web.config 的模式 {REQUEST_FILENAME} 来看,删除功能有效,但网站中根本没有显示图像。

 <rule name="Rewrite to index.php">
                    <match url="index.php|robots.txt|images|test.php" />
                    <action type="None" />
                </rule>
                <rule name="Rewrite CI Index">
                    <match url=".*" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" pattern="^.+\.(css|js|jpg|jpeg|png|gif|ico|htm|html|eot|woff|ttf|svg|txt|pdf|swf)$" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php/{R:0}" />
                </rule>

是否有解决方法。非常感谢您检查它。

将 matchType="IsFile" 添加到 <conditions> 解决了问题。
所以规则将变成

<rule name="Rewrite CI Index">
                    <match url=".*" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" pattern="^.+\.(css|js|jpg|jpeg|png|gif|ico|htm|html|eot|woff|ttf|svg|txt|pdf|swf)$"  matchType="IsFile"  negate="true" />

                     </conditions>
                    <action type="Rewrite" url="index.php/{R:0}" />
</rule>