From: dratini0 Date: Wed, 11 Feb 2015 21:10:06 +0000 (+0100) Subject: Extending the X-accel redirect functionality with a more scalable approach. X-Git-Tag: v8.1.0alpha1~170^2~2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=10e13b172afeb9d25f640415920fa9fab16d2375;p=nextcloud-server.git Extending the X-accel redirect functionality with a more scalable approach. --- diff --git a/lib/private/files.php b/lib/private/files.php index 98f3c52d6c6..3a2e291630b 100644 --- a/lib/private/files.php +++ b/lib/private/files.php @@ -182,7 +182,16 @@ class OC_Files { } if (isset($_SERVER['MOD_X_ACCEL_REDIRECT_ENABLED'])) { - $filename = \OC::$WEBROOT . '/data' . \OC\Files\Filesystem::getRoot() . $filename; + if (isset($_SERVER['MOD_X_ACCEL_REDIRECT_PREFIX'])) { + $prefix = $_SERVER['MOD_X_ACCEL_REDIRECT_PREFIX']; + // nginx is picky about double slashes + while($prefix[strlen($prefix) - 1] === '/'){ + $prefix = substr($prefix, 0, -1); + } + $filename = $prefix . \OC\Files\Filesystem::getLocalFile($filename); + } else { + $filename = \OC::$WEBROOT . '/data' . \OC\Files\Filesystem::getRoot() . $filename; + } header("X-Accel-Redirect: " . $filename); } }