Kirby 3 and multisite

I just had to redo it myself for a multisite setup. Here’s my code for the index.php in kirby3 if it can help anyone looking for an example:

<?php

require 'kirby/bootstrap.php';

$domains = array('kirby3.test', 'sub.kirby3.test');

if(url::host() == "kirby3.test") {
    echo (new Kirby)->render(); 
}

else if(url::host() == "sub.kirby3.test") {
    $kirby = new Kirby([
        'roots' => [
            'index'   => __DIR__,
            'site'    => __DIR__ . '/sub/site',
            'content' => __DIR__ . '/sub/content',
            'media'   => __DIR__ . '/sub/media'
        ],
        'url' => [
            'index'   => __DIR__,
            'content' => __DIR__ . '/sub/content',
            'media'   => __DIR__ . '/sub/media',
            'media'   => __DIR__ . 'https://sub.kirby3.test',
        ]
    ]);   
    
    echo $kirby->render();
}

In Kirby 2 my site.php was :

<?php

$kirby = kirby();
$domains = array('kirby2.fr', 'sub.kirby2.test');

switch(url::host()) {
    
  case 'kirby2.test':
    $kirby->roots->content = $kirby->roots()->index() . DS . 'content' . DS . '';
    $kirby->roots->site    = $kirby->roots()->index() . DS . 'site'    . DS . '';
    $kirby->roots->thumbs  = $kirby->roots()->index() . DS . 'thumbs'  . DS . '';
    $kirby->urls->content  = $kirby->urls()->index() . '/content';
    $kirby->urls->thumbs   = $kirby->urls()->index() . '/thumbs';
    $kirby->urls->index = 'http://kirby2.test';
    break;

  case 'sub.kirby2.test':
    $kirby->roots->content = $kirby->roots()->index() . DS . '/sub/content' . DS . '';
    $kirby->roots->site    = $kirby->roots()->index() . DS . '/sub/site'    . DS . '';
    $kirby->roots->thumbs  = $kirby->roots()->index() . DS . '/sub/thumbs'  . DS . '';
    $kirby->urls->content  = $kirby->urls()->index() . '/sub/content';
    $kirby->urls->thumbs   = $kirby->urls()->index() . '/sub/thumbs';
    $kirby->urls->index = 'http://sub.kirby2.test';
    break;

}
?>
3 Likes