summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <DeepDiver1975@users.noreply.github.com>2016-04-21 12:17:55 +0200
committerThomas Müller <DeepDiver1975@users.noreply.github.com>2016-04-21 12:17:55 +0200
commit93649d6fe8e2e079dec7fa3bd34f8d8c2306f055 (patch)
tree27cc1ffc1666b6ee7c27e503040ff832f1b4b974
parentb50d3255fb512c1b4f1186a5874c9528d9b407a3 (diff)
parentcd299b853743fbc93511258390fe04bde2ceafad (diff)
downloadnextcloud-server-93649d6fe8e2e079dec7fa3bd34f8d8c2306f055.tar.gz
nextcloud-server-93649d6fe8e2e079dec7fa3bd34f8d8c2306f055.zip
Merge pull request #24135 from owncloud/also-write-htaccess-from-cli
Write .htaccess also from CLI
-rw-r--r--lib/private/setup.php22
1 files changed, 15 insertions, 7 deletions
diff --git a/lib/private/setup.php b/lib/private/setup.php
index 6303d0d47f3..d2f3802ebad 100644
--- a/lib/private/setup.php
+++ b/lib/private/setup.php
@@ -400,12 +400,21 @@ class Setup {
* Append the correct ErrorDocument path for Apache hosts
*/
public static function updateHtaccess() {
- // From CLI we don't know the defined web root. Thus we can't write any
- // directives into the .htaccess file.
+ $config = \OC::$server->getConfig();
+
+ // For CLI read the value from overwrite.cli.url
if(\OC::$CLI) {
- return;
+ $webRoot = $config->getSystemValue('overwrite.cli.url', '');
+ if($webRoot === '') {
+ return;
+ }
+ $webRoot = parse_url($webRoot, PHP_URL_PATH);
+ $webRoot = rtrim($webRoot, '/');
+ } else {
+ $webRoot = !empty(\OC::$WEBROOT) ? \OC::$WEBROOT : '/';
}
- $setupHelper = new \OC\Setup(\OC::$server->getConfig(), \OC::$server->getIniWrapper(),
+
+ $setupHelper = new \OC\Setup($config, \OC::$server->getIniWrapper(),
\OC::$server->getL10N('lib'), new \OC_Defaults(), \OC::$server->getLogger(),
\OC::$server->getSecureRandom());
@@ -413,13 +422,12 @@ class Setup {
$content = "#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####\n";
if(strpos($htaccessContent, $content) === false) {
//custom 403 error page
- $content.= "\nErrorDocument 403 ".\OC::$WEBROOT."/core/templates/403.php";
+ $content.= "\nErrorDocument 403 ".$webRoot."/core/templates/403.php";
//custom 404 error page
- $content.= "\nErrorDocument 404 ".\OC::$WEBROOT."/core/templates/404.php";
+ $content.= "\nErrorDocument 404 ".$webRoot."/core/templates/404.php";
// Add rewrite base
- $webRoot = !empty(\OC::$WEBROOT) ? \OC::$WEBROOT : '/';
$content .= "\n<IfModule mod_rewrite.c>";
$content .= "\n RewriteRule . index.php [PT,E=PATH_INFO:$1]";
$content .= "\n RewriteBase ".$webRoot;