From 10e13b172afeb9d25f640415920fa9fab16d2375 Mon Sep 17 00:00:00 2001 From: dratini0 Date: Wed, 11 Feb 2015 22:10:06 +0100 Subject: [PATCH] Extending the X-accel redirect functionality with a more scalable approach. --- lib/private/files.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/private/files.php b/lib/private/files.php index 98f3c52d6c..3a2e291630 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); } }