安装Sparks假定您遵守默认的CodeIgniter安装模式;将应用程序,系统和用户指南文件夹以及index.php和许可证文件解压缩到您的Web根目录中。
但是,出于安全原因,我们中的许多人将应用程序和系统文件夹从Web根目录中拉出来,并在主index.php文件中重新路由$ system_path和$ application_folder变量。
这种分离往往会破坏Spark的安装。特别是getsparks installation instructions中使用的简单示例 - spark。
收到错误:
遇到错误无法找到 火花路径 火花/例如火花/ 1.0.0 /
我维护以下目录结构:
为了实现安全+火花,我必须改变什么?打开任何类型的建议。你如何设置你的安装?
答案 0 :(得分:13)
回答我自己的问题:解决方案是在MY_Loader.php文件中。通过修改第43行的SPARKPATH变量,可以重新路由所有火花的位置!干杯!
答案 1 :(得分:1)
我就是这样做的:
我有以下目录结构:
- project_name
- application
- public
- index.php
- js
- css
- img
- compressed_assets
- etc
- sparks
- system
- tmp
- tools
我的Apache DocumentRoot是... / project_name / public
通过这种方式,Apache只提供公共资产和index.php(它是CodeIgniter的网关)。
我不需要使用.htaccess隐藏任何内容。如果我错误地删除了.htaccess,则没有公开私有数据。
我甚至可以将css和js文件夹降低一级(但我没有,因为我在某些环境中提供未压缩的资产(主要是开发))。
关于主题:
index.php通常使用相对路径定义系统和应用程序路径,如下所示
$system_path = 'system'; //index.php line 82
$system_path = 'system'; //index.php line 97
但我更喜欢使用绝对路径,所以我有这个:
define('ROOTPATH', dirname(dirname(__FILE__)));
$system_path = ROOTPATH.'/system';
$application_folder = ROOTPATH.'/application';
在constants.php里面
define('SPARKPATH',ROOTPATH .'/sparks/');
PS:注意火花路径不遵循CI约定并且有一个尾部斜杠。