octobercms/october · warning · ApplicationException
The resizer file ':name' is not found.
Error message
The resizer file ':name' is not found.
What it means
SystemController::resize($name) is the route handler for image resizer URLs (/resizer/{name}), and like the combine handler it requires the name to contain a '-' so it can extract the leading cache id. When the segment has no dash, it throws an ApplicationException ('resizer file not found') naming the malformed input. In production this becomes a 404; in debug mode the raw exception is shown. It is a format guard in front of ResizeImages::getContents($cacheId).
Source
Thrown at modules/system/classes/SystemController.php:59
if (System::checkDebugMode()) {
return Response::make(e($ex->getMessage()), 404);
}
else {
return Response::make('/* '.e(Lang::get('system::lang.page.custom_error.help')).' */', 404);
}
}
}
/**
* resize an image
* @param string $name Combined file code
* @return RedirectResponse
*/
public function resize($name)
{
try {
if (!strpos($name, '-')) {
throw new ApplicationException(__("The resizer file ':name' is not found.", ['name' => $name]));
}
$parts = explode('-', $name);
$cacheId = $parts[0];
$combiner = ResizeImages::instance();
return $combiner->getContents($cacheId);
}
catch (Exception $ex) {
if (System::checkDebugMode()) {
return Response::make(e($ex->getMessage()), 404);
}
else {
return Response::make('/* '.e(Lang::get('system::lang.page.custom_error.help')).' */', 404);
}
}View on GitHub (pinned to b608633a7e)
Solutions
- Regenerate the markup with the `|resize` filter so current-format resizer URLs are emitted
- Purge CDN and page caches after deployments that touch asset/image URL generation
- Avoid hardcoding /resizer/ paths anywhere; derive them from the source file at render time
- Treat isolated hits as noise (404 for bots), unless your own pages emit the bad URLs
Defensive patterns
Strategy: fallback
Validate before calling
// Validate resizer URL tokens before dispatching to the resizer
if (!str_contains($name, '-')) {
abort(404, 'Malformed resizer token');
}
return \System\Classes\ResizeImages::instance()->getContents(explode('-', $name)[0]); Try / catch
try {
return \System\Classes\ResizeImages::instance()->getContents($cacheId);
} catch (\October\Rain\Exception\ApplicationException $ex) {
// malformed token or expired cache — 404 with the original URL as fallback
return \Redirect::to($fallbackOriginalUrl);
} Prevention
- Always emit resizer URLs through the `|resize` filter
- Don't cache resizer URLs longer than the underlying app cache
- Watch access logs for /resizer/ 404 spikes after deploys
When it happens
Trigger: A request to the resizer route where the token lacks the expected id-suffix shape, e.g. /resizer/xyz instead of /resizer/xyz-img.jpg. Typically stale markup/CDN content carrying old-format resizer URLs, or manually constructed image URLs.
Common situations: CDN/browser cache pinning old resizer URLs across a deploy that changed the URL scheme; templates hardcoding resizer paths; email templates or third-party integrations reusing expired/malformed resizer links.
Related errors
- The combiner file ':name' is not found.
- The resizer file ':name' is not found.
- system::lang.server.response_not_found
- system::lang.server.response_empty
- Plugin configuration file plugin.yaml is not found for the p
AI-assisted analysis of octobercms/october@b608633a7e (2026-08-21).
Data as JSON: /api/errors/11cfd1c0ecf9004d.
Report an issue: GitHub.