我在Linux服务器上托管一个网站,文件夹就像那样
/var/www/html/agitoriosul.com.br/web/
/ web 是公用文件夹
我希望将核心和应用文件夹放在 web 文件夹之前,将 webroot 放在 web之内文件夹。
我知道我需要在webroot中配置index.php,但是我已经尝试了很多东西而没有任何作用。
现在所有文件夹都在网络(公共文件夹)内,但首先我知道核心和应用文件夹不能留在 web(公共文件夹),第二,用Html->链接助手创建的所有链接指向物理路径(/var/www/html/agitoriosul.com.br/web/)而不是虚拟(agitoriosul。 com.br/)path。
答案 0 :(得分:0)
/ web是公用文件夹
因此,使用标准文件夹layou会有以下内容:
/var/www/html/example.com
app
webroot
lib
plugins
vendors
但反过来想要这个:
/var/www/html/example.com
app
lib
plugins
vendors
web
实现这一目标的步骤非常简单:
使用如下命令:
$ cd /var/www/html/example.com
$ mv app/webroot web
即。 web / index.php文件将包含:
//define('ROOT', dirname(dirname(dirname(__FILE__))));
define('ROOT', dirname(dirname(__FILE__)));
//define('APP_DIR', basename(dirname(dirname(__FILE__))));
define('APP_DIR', 'app');
// cannot be derived, as the app folder is not a parent
或者,如果愿意:
//define('ROOT', dirname(dirname(dirname(__FILE__))));
define('ROOT','/var/www/html/example.com');
//define('APP_DIR', basename(dirname(dirname(__FILE__))));
define('APP_DIR', 'app');
不要移动任何东西,只需将webroot符号链接:
/var/www/html/example.com
app
webroot
lib
plugins
vendors
web -> app/webroot
使用如下命令:
$ cd /var/www/html/example.com
$ ln -s app/webroot web
这不需要修改app webroot文件。
答案 1 :(得分:-1)
我使用相同的lib和plugins以及vendor文件夹
创建了两个应用程序请参阅下面提到的文件夹结构:
/var/www/cake
/var/www/cake/lib
/var/www/cake/plugins
/var/www/cake/vendors
/var/www/cake/cake1/app
/var/www/cake/cake1/webroot
编辑:
/var/www/cake/cake1/webroot/index.php (only three edits)
if (!defined('ROOT')) {
//define('ROOT', dirname(dirname(dirname(__FILE__))));
define('ROOT', dirname(dirname(__FILE__)));
}
if (!defined('APP_DIR')) {
//define('APP_DIR', basename(dirname(dirname(__FILE__))));
define('APP_DIR', 'app');
}
define('CAKE_CORE_INCLUDE_PATH', dirname(dirname(dirname(__FILE__))) . DS . 'lib');
/var/www/cake/cake2/app
/var/www/cake/cake2/webroot
编辑:
/var/www/cake/cake2/webroot/index.php (only three edits)
if (!defined('ROOT')) {
//define('ROOT', dirname(dirname(dirname(__FILE__))));
define('ROOT', dirname(dirname(__FILE__)));
}
if (!defined('APP_DIR')) {
//define('APP_DIR', basename(dirname(dirname(__FILE__))));
define('APP_DIR', 'app');
}
define('CAKE_CORE_INCLUDE_PATH', dirname(dirname(dirname(__FILE__))) . DS . 'lib');
这适用于我在ubuntu上的两个虚拟主机
http://cake1/
http://cake2/