summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2017-07-26 16:30:09 +0200
committerMorris Jobke <hey@morrisjobke.de>2017-07-26 16:30:09 +0200
commit0de90cfc672ebb8bb7c8ffa01d40380715c42f94 (patch)
tree75d1daf5cd28d515b0fd0a8e8515815c13995d99
parent174cd4f478b0c555a23ddb5de3aedae3aac82220 (diff)
downloadnextcloud-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.php8
-rw-r--r--core/templates/404.php8
-rw-r--r--lib/private/Setup.php4
-rw-r--r--tests/Core/Templates/TemplatesTest.php20
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);
- }
-
-}