0

使用以下内容RewriteCond,我想为所有不是图像、css 或 js 的文件制定规则。

RewriteCond %{REQUEST_FILENAME} !\.(ico|jpg|jpeg|png|gif|js|css|svg|svgz)$

当文件的路径存在时,此规则可以正常工作...

但是当文件的路径不存在(给出了错误的路径)时,即使文件以列表中的扩展名结尾,规则也会继续。

即使路径不存在,我如何包含在规则中以包含路径?

更新:

解决方案是使用 %{REQUEST_URI} 而不是 %{REQUEST_FILENAME}。

4

1 回答 1

0

好的,我发现了问题:)

当路径不存在时,REQUEST_FILENAME未设置映射到 FS 上的真实文件的路径。

改用REQUEST_URI可以解决问题并正确处理所有情况。

正确的指令:

RewriteCond %{REQUEST_URI} !\.(ico|jpg|jpeg|png|gif|js|css|svg|svgz)$
于 2012-11-13T10:21:56.737 回答