diff --git a/controllers/front/PageNotFoundController.php b/controllers/front/PageNotFoundController.php index 98babe654..2b4a830a7 100644 --- a/controllers/front/PageNotFoundController.php +++ b/controllers/front/PageNotFoundController.php @@ -38,12 +38,12 @@ class PageNotFoundControllerCore extends FrontController header('HTTP/1.1 404 Not Found'); header('Status: 404 Not Found'); - if (in_array(Tools::strtolower(substr($_SERVER['REQUEST_URI'], -3)), array('png', 'jpg', 'gif'))) + if (preg_match('/\.(gif|jpe?g|png|ico)$/i', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) { if ((bool)Configuration::get('PS_REWRITING_SETTINGS')) - preg_match('#([0-9]+)(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/(.+)\.(png|jpg|gif)$#', $_SERVER['REQUEST_URI'], $matches); + preg_match('#([0-9]+)(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/(.+)\.(png|jpe?g|gif)$#', $_SERVER['REQUEST_URI'], $matches); if ((!isset($matches[2]) || empty($matches[2])) && !(bool)Configuration::get('PS_REWRITING_SETTINGS')) - preg_match('#/([0-9]+)(\-[_a-zA-Z]*)\.(png|jpg|gif)$#', $_SERVER['REQUEST_URI'], $matches); + preg_match('#/([0-9]+)(\-[_a-zA-Z]*)\.(png|jpe?g|gif)$#', $_SERVER['REQUEST_URI'], $matches); if (is_array($matches) && !empty($matches[2]) && Tools::strtolower(substr($matches[2], -8)) != '_default' && is_numeric($matches[1])) {