diff --git a/app/Http/Controllers/ProxyController.php b/app/Http/Controllers/ProxyController.php index b822f11e00440f3499387849f17bc58744d85b88..f23420760e0c9ff954e8baac3c5f182b97b9c273 100644 --- a/app/Http/Controllers/ProxyController.php +++ b/app/Http/Controllers/ProxyController.php @@ -330,10 +330,15 @@ class ProxyController extends Controller $headerArray[strtolower(trim($ar[0]))] = strtolower(trim($ar[1])); } elseif (strtolower($ar[0]) === "location") { $redLink = $ar[1]; + if (strpos($redLink, "/") === 0) { $parse = parse_url($url); $redLink = $parse["scheme"] . "://" . $parse["host"] . $redLink; + } else if (preg_match("/\w+\.\w+/si", $redLink)) { + $parse = parse_url($url); + $redLink = $parse["scheme"] . "://" . $parse["host"] . "/" . $redLink; } + $headerArray[trim($ar[0])] = $this->proxifyUrl($redLink, null, false); } elseif (strtolower($ar[0]) === "content-disposition") { $headerArray[strtolower(trim($ar[0]))] = strtolower(trim($ar[1]));