summaryrefslogtreecommitdiffstats
path: root/core/register_command.php
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2016-05-12 09:43:26 +0200
committerThomas Müller <DeepDiver1975@users.noreply.github.com>2016-05-12 09:43:26 +0200
commit52add798d4d814b5276e324c2e98404ff0abe020 (patch)
tree55af97e8245ba7584ae626d8f258697b9d99d049 /core/register_command.php
parentdd9ee10bc0699e5dcc17c3ef2181dcda01d9a69b (diff)
downloadnextcloud-server-52add798d4d814b5276e324c2e98404ff0abe020.tar.gz
nextcloud-server-52add798d4d814b5276e324c2e98404ff0abe020.zip
Do not automatically try to enable index.php-less URLs (#24539)
The current logic for mod_rewrite relies on the fact that people have properly configured ownCloud, basically it reads from the `overwrite.cli.ur l` entry and then derives the `RewriteBase` from it. This usually works. However, since the ownCloud packages seem to install themselves at `/owncloud` (because subfolders are cool or so…) _a lot_ of people have just created a new Virtual Host for it or have simply symlinked the path etc. This means that `overwrite.cli.url` is wrong, which fails hard if it is used as RewriteBase since Apache does not know where it should serve files from. In the end the ownCloud instance will not be accessible anymore and users will be frustrated. Also some shared hosters like 1&1 (because using shared hosters is so awesome… ;-)) have somewhat dubious Apache configurations or use versions of mod_rewrite from the mediveal age. (because updating is money or so…) Anyhow. This makes this explicitly an opt-in configuration flag. If `htaccess.RewriteBase` is set then it will configure index.php-less URLs, if admins set that after installation and don't want to wait until the next ownCloud version they can run `occ maintenance:update:htaccess`. For ownCloud 9.0 we also have to add a repair step to make sure that instances that already have a RewriteBase configured continue to use it by copying it into the config file. That way all existing URLs stay valid. That one is not in this PR since this is unneccessary in master. Effectively this reduces another risk of breakage when updating from ownCloud 8 to ownCloud 9. Fixes https://github.com/owncloud/core/issues/24525, https://github.com/owncloud/core/issues/24426 and probably some more.
Diffstat (limited to 'core/register_command.php')
-rw-r--r--core/register_command.php1
1 files changed, 1 insertions, 0 deletions
diff --git a/core/register_command.php b/core/register_command.php
index 3dab37ce5a6..01ec2e7f28e 100644
--- a/core/register_command.php
+++ b/core/register_command.php
@@ -116,6 +116,7 @@ if (\OC::$server->getConfig()->getSystemValue('installed', false)) {
new \OC\Repair(\OC\Repair::getRepairSteps(), \OC::$server->getEventDispatcher()), \OC::$server->getConfig(),
\OC::$server->getEventDispatcher()));
$application->add(new OC\Core\Command\Maintenance\SingleUser(\OC::$server->getConfig()));
+ $application->add(new OC\Core\Command\Maintenance\UpdateHtaccess());
$application->add(new OC\Core\Command\Upgrade(\OC::$server->getConfig(), \OC::$server->getLogger()));