错误的路径混淆了apache?

时间:2012-11-13 10:00:42

标签: apache .htaccess mod-rewrite

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

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

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

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

如果规则中包含路径,即使它们不存在,如何包含在路径中?

更新

解决方案是使用%{REQUEST_URI}代替%{REQUEST_FILENAME}。

1 个答案:

答案 0 :(得分:0)

好的,我发现了问题:)

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

使用REQUEST_URI代替解决问题并正确处理所有案例。

正确的指示:

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