|
|
@@ -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; |