2013-04-26 62 views
0

如果我尝试访问无效的图片网址,例如example.com/images/non-existent-image抛出一个错误:Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException无效的图片网址引发异常

我应该如何避免这种情况,有没有我要补充一个特定的路线(-requirement),或者我应该使用类似htaccess的规则?

感谢

+0

您应该配置您的网络服务器的方式,静态数据**不会**通过前端控制器(app.php)请求 – 2013-04-26 19:07:19

回答

0

好的这个问题的答案是双重的。

首先:是的,不应通过前端控制器请求静态资源(根据平台的评论)。 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

0

如果这是一个错误的许可权限一样否认你会得到某物。再次检查路径...还要检查是否已将文件夹映像放置在服务器的正确目录中(尝试将映像/放在WEB-INF目录所在的同一目录中..出于安全原因,无法访问WEB-INF下的文件)

+0

有效的图像网址工作正常。问题是无效的图片网址会引发错误(500)而不是404 – 2013-04-26 14:37:09

+0

这意味着(请参​​阅[链接] http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)这是一个内部服务器错误,并且它没有根据给定的路径做任何事情。当你说一个“无效图像”时,你是什么意思?损坏?失踪?别的? – 2013-04-26 14:43:41

+0

无效的路径,所以一个不存在的图像。我知道状态码的含义。我认为/ images路径不应该由symfony路由器(?)处理。那是我的问题 – 2013-04-26 14:46:56