我们注意到当我们的网站缺少图片时会出现500个错误(这种情况会因各种原因而发生) - symfony将首先尝试在通常的“uploads / custom / myasset.jpg”文件夹中找到资产如果它找不到资产,那么它将通过symfony来查找匹配的路由,这个“通过”symfony导致轻微的性能问题,我想知道是否有其他人遇到过这个问题以及他们是如何解决它的
我尝试过mod_rewrite规则,但我的正则表达式知识很糟糕!
干杯!
答案 0 :(得分:3)
您可以添加RewriteCond以从RewriteRule中排除某个目录。
例如:
RewriteCond %{REQUEST_URI} !^/images/
RewriteRule ^(.*)$ index.php [QSA,L]
将从symfony前端控制器的默认重写规则中排除以“/ images /”开头的任何请求。您可以根据需要在RewriteRule之前添加尽可能多的RewriteCond,或者您可以修改regexp以解决不同的情况,例如:
RewriteCond %{REQUEST_URI} !^/(images|uploads)/
但是,你的问题表明还存在另一个问题,因为symfony应该在无法路由请求时抛出404次请求,这会导致HTTP 404响应。它肯定不会导致HTTP 500响应。也许有错误的404控制器会抛出异常。您应该进一步调查错误500的原因。