I'm trying to implement the [Background Image](https://www.drupal.org/project/background_image) module, but there seems to be a problem with the dynamic route it registers for generating CSS. I've been debugging it but have run into a wall. It's basically a duplicate of the core Image module's routing setup, so I'm not sure what's wrong, but the controller method never fires - the controller isn't even instantiated. Here's the config file: route_callbacks: - '\Drupal\background_image\Routing\BackgroundImageRoutes::routes' Here's the `routes` method: public function routes() { error_log('Router::routes'); $routes = []; // Generate background image CSS files. If clean URLs are disabled the // files will always be served through the menu system. If clean URLs are // enabled and the file already exists, PHP will be bypassed. $directory_path = $this->streamWrapperManager->getViaScheme('public')->getDirectoryPath(); $routes['background_image.css'] = new Route( '/' . $directory_path . '/background_image/css/{background_image}/{scheme}/{file}', [ '_controller' => '\Drupal\background_image\Controller\BackgroundImageCssController::deliver', ], [ '_access' => 'TRUE', ] ); error_log(print_r($routes, true)); return $routes; } Here's the `$routes` object: Array ( [background_image.css] => Symfony\Component\Routing\Route Object ( [path:Symfony\Component\Routing\Route:private] => /sites/default/files/background_image/css/{background_image}/{scheme}/{file} [host:Symfony\Component\Routing\Route:private] => [schemes:Symfony\Component\Routing\Route:private] => Array ( ) [methods:Symfony\Component\Routing\Route:private] => Array ( ) [defaults:Symfony\Component\Routing\Route:private] => Array ( [_controller] => \Drupal\background_image\Controller\BackgroundImageCssController::deliver ) [requirements:Symfony\Component\Routing\Route:private] => Array ( [_access] => TRUE ) [options:Symfony\Component\Routing\Route:private] => Array ( [compiler_class] => Symfony\Component\Routing\RouteCompiler ) [compiled:Symfony\Component\Routing\Route:private] => [condition:Symfony\Component\Routing\Route:private] => ) ) If I try to hit a URL such as `/sites/default/files/background_image/css/3/public/dq5DbF1hqHxkHXGiHSl9yuXubPox08bOX6nE12gX2h0.css?p2aptq` (which the module correctly generates when I've got a background image set up on the site) I get a 404 error and nothing in the error log. I'm using [docker4drupal](https://github.com/wodby/docker4drupal) and have checked the nginx config and am 99% sure that's not the issue (there are no rules for /sites/default/files/ and I do see the 404 in the nginx log.)