getBridgeClassNames() as $bridgeClassName) { if (!$bridgeFactory->isWhitelisted($bridgeClassName)) { continue; } $bridge = $bridgeFactory->create($bridgeClassName); $bridgeParams = $bridge->detectParameters($targetURL); if (is_null($bridgeParams)) { continue; } $bridgeParams['bridge'] = $bridgeClassName; $bridgeParams['format'] = $format; header('Location: ?action=display&' . http_build_query($bridgeParams), true, 301); return; } throw new \Exception('No bridge found for given URL: ' . $targetURL); } }