0

Kirby CMS 支持非默认文件结构。 http://getkirby.com/docs/advanced/customized-folder-setup

当我在 site.php 文件中引入以下内容时:

// changing the directory
$kirby->roots->content = $kirby->roots()->index() . DS . 'vendor/client-content';

// changing the url
$kirby->urls->content = $kirby->urls()->index() . '/client/mindfulness-content';

面板重定向到不存在的 panel\panel\install 或 panel\panel\login,因为它具有不必要的重定向。然而,这几乎完全是从文档中复制和粘贴的。

如果我尝试 panel\install 或 panel\login 它不会尝试重定向,但不会加载样式。

如果尝试登录,则会产生“无效路由”异常:

/panel/app/panel.php:203 Stack trace: #0 /panel/index.php(47): Panel->launch() #1 {main} thrown in /panel/app/panel.php on line 203

如果我只留下以下内容 site.php,那就太高兴了:

<?php 
$kirby = kirby();

我在 apache 上运行以下 php:

PHP 5.4.16 (cli) (built: Oct 31 2014 12:59:36) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

Ngnx 也报告了这个问题 https://github.com/getkirby/panel/issues/287

这种文件夹结构的原因:

在这种情况下,我想使用 composer 从另一个 git repo 加载内容。这让我的部署过程更容易从 cli 管理,并让内容维护者独立进行。

4

1 回答 1

0

这是当前版本的 Kirby 的一个错误。它有一个由 Kirby 的创建者 @bastianallgeier 提供的非常简单的修复程序

需要为面板工作定义以下变量。

$kirby->urls->index 

如果有多种域和子域可以使用添加到 site.php 的以下代码段,效果很好。

<?php

$kirby = kirby();

switch(url::host()) {
  case 'example-a.com':

     $kirby->urls->index = 'http://example-a.com';

     …

     break;
 case 'example-b.com':

     $kirby->urls->index = 'http://example-b.com';

     …

     break;
 case 'sub.example-b.com':

     $kirby->urls->index = 'http://sub.example-b.com';

     …

     break;
}
于 2015-04-01T17:26:16.170 回答