Apache错误404和FilesMatch

时间:2015-03-25 09:42:58

标签: regex apache http-status-code-404

我们的服务器配置如下:

ErrorDocument 404 http://www.domain.com/somepage
<FilesMatch "\.(gif|jpe?g|png|s?html|css|js)$">
   ErrorDocument 404 default
</FilesMatch>

全部&#34;未找到&#34;页面被重定向到/ somepage。如果有&#34;未找到&#34;请求图像或css或js我们将请求重定向到标准404页面。如果在存在的目录中缺少图像,这可以正常工作,例如

如果请求的文件是http://www.domain.com/images/aaa/test.jgp 并存在/ document_root / images / aaa /然后没有问题,一切都按预期工作。当aaa / dir不存在时出现问题..然后FilesMatch "\.(gif|jpe?g|png|s?html|css|js)$"不起作用(不匹配),请求发送到http://www.domain.com/somepage

有没有办法在不存在的目录中匹配不存在的文件(gif,jpg,css ..)?

由于

1 个答案:

答案 0 :(得分:0)

我通过添加以下内容来解决这个问题

 <LocationMatch ".+\.(jpg|png|gif)$">
     ErrorDocument 404 /images/404Image.png
 </LocationMatch>

将扩展名添加到位置匹配正则表达式中也应该适用。