如果我尝试访问无效的图片网址,例如example.com/images/non-existent-image
会抛出错误:Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException
我应该如何防止这种情况,我应该添加一个特定的路线(要求),还是应该使用类似.htaccess规则的东西?
由于
答案 0 :(得分:0)
如果是权限错误,你会得到许可否认。再次检查路径...还要检查是否已将文件夹图像放在服务器的正确目录中(尝试在同一目录中移动images /出于安全原因无法访问WEB-INF目录下的文件... )
答案 1 :(得分:0)
好的,这个问题的答案是双重的。
首先:是的,不应该通过前端控制器请求静态资源(根据thecatontheflat的评论)。 Symfony在.htaccess
文件中有一条规则,该文件随标准版分发:
# If the requested filename exists, simply serve it.
# We only want to let Apache serve files and not directories.
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]
事实证明,我的问题出在其他地方。 symfony抛出ResouceNotFoundException
是正常的。但是,应该捕获此错误,并应创建404。这没有发生,因为我在我的错误模板中使用IS_GRANTED
。 (另见stof的评论here)