为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不公开暴露/ app /文件夹的情况下将Laravel 4安装到虚拟主机子文件夹?

如何在不公开暴露/ app /文件夹的情况下将Laravel 4安装到虚拟主机子文件夹?

大话西游666 2019-11-05 16:02:04
我想知道是否有人知道在Web主机SUBDIRECTORY /子文件夹中安装Laravel 4的方法,而又不将/ app /文件夹和其他敏感文件暴露给主机的公共可访问部分。这个想法是,我可以访问http://mydomain.com/mylaravel/来使用Laravel,但是同时我想避免任何人做类似访问http://mydomain.com的事情/ app /或http://mydomain.com/mylaravel/app/,基本上可以看到我的配置文件和其他代码。
查看完整描述

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/文件夹和其他敏感文件。:)


查看完整回答
反对 回复 2019-11-05
?
慕标5832272

TA贡献1966条经验 获得超4个赞

人,人!无需过于复杂!

(对于其他公用文件夹,例如,htdocswww仅将public_html以下内容替换为您的公用文件夹。)

  1. 将所有Laravel内容放入顶层文件夹(以便该app文件夹位于该文件夹旁边public_html

  2. 将所有文件从public移到public_html(确保还移走隐藏文件,例如.htaccess!)

  3. 删除现在为空的public文件夹

  4. bootstrap/path.php改变

    'public' => __DIR__.'/../public', 至

    'public' => __DIR__.'/../public_html',

  5. 做完了


查看完整回答
反对 回复 2019-11-05
  • 3 回答
  • 0 关注
  • 397 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信