Hey all,
I’m working on a Grav multisite.
I want the base to be in a subdirectory so it wil look somthing like this:
example.com/subdirectory/site1
example.com/subdirectory/site2
But I all assets and links try to ignore the directory and point to
example.com/
My setup.php does look like this:
<?php
use Grav\Common\Filesystem\Folder;
$raw = $_SERVER['REQUEST_URI'] ?? '/';
$clean = parse_url($raw, PHP_URL_PATH);
$path = isset($_SERVER['PATH_INFO'])
? $_SERVER['PATH_INFO']
: Folder::getRelativePath($clean, ROOT_DIR);
$segments = [];
$pathCopy = $path;
while ($segment = Folder::shift($pathCopy)) {
$testFolder = "env/" . implode('/', array_merge($segments, [$segment]));
if (is_dir(ROOT_DIR . "user/{$testFolder}/pages")) {
$segments[] = $segment;
$folder = implode('/', $segments);
$prefix = "/" . implode('/', $segments);
$name = $folder;
$container['pages']->base($prefix);
return [
'environment' => $name,
'streams' => [
'schemes' => [
'user' => [
'type' => 'ReadOnlyStream',
'prefixes' => [
'' => ["user/env/{$folder}", "user"],
]
]
]
]
];
}
$segments[] = $segment;
}
return [];
Any leads?