3 回答
TA贡献1934条经验 获得超2个赞
所以我想出了怎么做。我将举例说明。
假设您是一个域,http://domain.com。这是您可能正在使用的结构的示例:
domain.com/ (the root of your web hosting)
|-- yourlaravel4_base/
|-- [some other folders...]
|-- public_html/ (where your html files and such go)
| |-- [some other folders...]
| |-- yourlaravel4/
/public_html/是您的网络托管文件可公开访问的部分的根。您要在中创建一个子文件夹/public_html/(在这种情况下/public_html/yourlaravel4/)。在此子文件夹中,您将存储Laravel 4 文件夹的所有内容public/。
现在,剩下的文件。您必须转到网络托管文件的根目录,也就是说,您想要处于domain.com/级别,因此能够查看public_html/和其他文件夹。然后,我们需要在此处创建一个文件夹,该文件夹将存储Laravel 4的基本文件。在这种情况下为domain.com/yourlaravel4_base/。在内部,yourlaravel4_base/我们需要存储基本Laravel 4目录中存在的每个文件和文件夹。这将是app/,bootstrap/,vendor/,server.php,等一切EXCEPT /public/文件夹,其内容你已经存储在public_html/yourlaravel4/。
最后,我们需要编辑2个文件:Laravel /bootstrap/paths.php和/public/index.php。
在paths.php文件中,替换为:
'app' => __DIR__.'/../app',
与:
'app' => __DIR__.'/../../yourlaravel4_base/app',
在paths.php文件中,替换为:
'public' => __DIR__.'/../public',
与:
'public' => __DIR__,
在paths.php文件中,替换为:
'base' => __DIR__.'/..',
与:
'base' => __DIR__.'/../../yourlaravel4_base',
在中paths.php,替换:
'storage' => __DIR__.'/../app/storage',
与:
'storage' => __DIR__.'/../../yourlaravel4_base/app/storage',
在中index.php,替换:
require __DIR__.'/../bootstrap/autoload.php';
与:
require __DIR__.'/../../yourlaravel4_base/bootstrap/autoload.php';
在中index.php,替换:
$app = require_once __DIR__.'/../bootstrap/start.php';
与:
$app = require_once __DIR__.'/../../yourlaravel4_base/bootstrap/start.php';
上传更改。现在,您应该可以在网站的子文件夹中安装Laravel 4,而无需实际暴露app/文件夹和其他敏感文件。:)
TA贡献1966条经验 获得超4个赞
人,人!无需过于复杂!
(对于其他公用文件夹,例如,htdocs
或www
仅将public_html
以下内容替换为您的公用文件夹。)
将所有Laravel内容放入顶层文件夹(以便该
app
文件夹位于该文件夹旁边public_html
)将所有文件从
public
移到public_html
(确保还移走隐藏文件,例如.htaccess
!)删除现在为空的
public
文件夹在
bootstrap/path.php
改变'public' => __DIR__.'/../public',
至'public' => __DIR__.'/../public_html',
做完了
添加回答
举报