diff options
author | Morris Jobke <hey@morrisjobke.de> | 2017-07-26 16:30:09 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2017-07-26 16:30:09 +0200 |
commit | 0de90cfc672ebb8bb7c8ffa01d40380715c42f94 (patch) | |
tree | 75d1daf5cd28d515b0fd0a8e8515815c13995d99 | |
parent | 174cd4f478b0c555a23ddb5de3aedae3aac82220 (diff) | |
download | nextcloud-server-0de90cfc672ebb8bb7c8ffa01d40380715c42f94.tar.gz nextcloud-server-0de90cfc672ebb8bb7c8ffa01d40380715c42f94.zip |
Fix 403 and 404 redirect
* Nextcloud is not properly loaded in the standalone version (especially the theming)
* it is already not listed anymore in the Nginx config (see nextcloud/documentation#392)
* the index.php-free version doesn't support this
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
-rw-r--r-- | core/templates/403.php | 8 | ||||
-rw-r--r-- | core/templates/404.php | 8 | ||||
-rw-r--r-- | lib/private/Setup.php | 4 | ||||
-rw-r--r-- | tests/Core/Templates/TemplatesTest.php | 20 |
4 files changed, 10 insertions, 30 deletions
diff --git a/core/templates/403.php b/core/templates/403.php index 7d07c72c873..e053fad764a 100644 --- a/core/templates/403.php +++ b/core/templates/403.php @@ -1,10 +1,10 @@ <?php // @codeCoverageIgnoreStart -if(!isset($_)) {//also provide standalone error page +if(!isset($_)) {//standalone page is not supported anymore - redirect to / require_once '../../lib/base.php'; - - $tmpl = new OC_Template( '', '403', 'guest' ); - $tmpl->printPage(); + + $urlGenerator = \OC::$server->getURLGenerator(); + header('Location: ' . $urlGenerator->getAbsoluteURL('/')); exit; } // @codeCoverageIgnoreEnd diff --git a/core/templates/404.php b/core/templates/404.php index cc45cbeaf5d..0f7318e937a 100644 --- a/core/templates/404.php +++ b/core/templates/404.php @@ -3,11 +3,11 @@ /** @var $l \OCP\IL10N */ /** @var $theme OCP\Defaults */ // @codeCoverageIgnoreStart -if(!isset($_)) {//also provide standalone error page +if(!isset($_)) {//standalone page is not supported anymore - redirect to / require_once '../../lib/base.php'; - - $tmpl = new OC_Template( '', '404', 'guest' ); - $tmpl->printPage(); + + $urlGenerator = \OC::$server->getURLGenerator(); + header('Location: ' . $urlGenerator->getAbsoluteURL('/')); exit; } // @codeCoverageIgnoreEnd diff --git a/lib/private/Setup.php b/lib/private/Setup.php index f5bfca604a9..1e98ed5456d 100644 --- a/lib/private/Setup.php +++ b/lib/private/Setup.php @@ -449,10 +449,10 @@ class Setup { $htaccessContent = explode($content, $htaccessContent, 2)[0]; //custom 403 error page - $content.= "\nErrorDocument 403 ".$webRoot."/core/templates/403.php"; + $content.= "\nErrorDocument 403 ".$webRoot."/"; //custom 404 error page - $content.= "\nErrorDocument 404 ".$webRoot."/core/templates/404.php"; + $content.= "\nErrorDocument 404 ".$webRoot."/"; // Add rewrite rules if the RewriteBase is configured $rewriteBase = $config->getValue('htaccess.RewriteBase', ''); diff --git a/tests/Core/Templates/TemplatesTest.php b/tests/Core/Templates/TemplatesTest.php deleted file mode 100644 index cd1502fd22c..00000000000 --- a/tests/Core/Templates/TemplatesTest.php +++ /dev/null @@ -1,20 +0,0 @@ -<?php - -namespace Tests\Core\Templates; - -class TemplatesTest extends \Test\TestCase { - - public function test403() { - $template = \OC::$SERVERROOT . '/core/templates/403.php'; - $expectedHtml = "<ul><li class='error'>\n\t\tAccess forbidden<br><p class='hint'></p></li></ul>"; - $this->assertTemplate($expectedHtml, $template); - } - - public function test404() { - $template = \OC::$SERVERROOT . '/core/templates/404.php'; - $href = \OC::$server->getURLGenerator()->linkTo('', 'index.php'); - $expectedHtml = "<ul><li class='error'>\n\t\t\tFile not found<br><p class='hint'>The specified document has not been found on the server.</p>\n<p class='hint'><a href='$href'>You can click here to return to Nextcloud.</a></p>\n\t\t</li></ul>"; - $this->assertTemplate($expectedHtml, $template); - } - -} |