如何在不公开暴露/app/文件夹的情况下将Laravel 4安装到虚拟主机子文件夹? [英] How to install Laravel 4 to a web host subfolder without publicly exposing /app/ folder?

查看:42
本文介绍了如何在不公开暴露/app/文件夹的情况下将Laravel 4安装到虚拟主机子文件夹?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道你们中是否有人知道在Web主机SUBDIRECTORY/子文件夹中安装Laravel 4的方法,而又没有将/app/文件夹和其他敏感文件暴露给主机的公共可访问部分.

I was wondering if any of you know of a way to install Laravel 4 in a web host SUBDIRECTORY / subfolder while not exposing the /app/ folder and other sensible files to the publicly accesible part of the host.

想法是,我可以访问 http://mydomain.com/mylaravel/以便使用Laravel,但同时我想避免任何人做诸如 http://mydomain.com/app/ http://mydomain.com/mylaravel/app/,基本上可以看到我的配置文件和其他代码.

The idea is, I'd be able to access http://mydomain.com/mylaravel/ to be able to use Laravel, but at the same time I want to avoid anyone doing something like going to http://mydomain.com/app/ or http://mydomain.com/mylaravel/app/ and basically being able to see my config files and other code.

推荐答案

所以我弄清楚了如何做到这一点.我会举例说明.

So I figured out how to do this. I'll explain with an example.

假设您是一个域, http://domain.com .这是您可能正在使用的结构的示例:

Suppose you a domain, http://domain.com. Here's an example of the structure you might be using:

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/是Web托管文件可公共访问的部分的根. 您要在/public_html/中创建一个子文件夹(在本例中为/public_html/yourlaravel4/).在此子文件夹中,您将存储Laravel 4 public/文件夹的所有内容.

/public_html/ is the root of the publicly accessible part of your web hosting files. You want to create a subfolder in /public_html/ (in this case /public_html/yourlaravel4/). In this subfolder you will store all the contents of the Laravel 4 public/ folder.

现在,剩下的文件.您必须转到Web托管文件的根目录,也就是说,您想进入domain.com/级别,因此可以看到public_html/和其他一些文件夹.然后,我们需要在此处创建一个文件夹,该文件夹将存储Laravel 4的基本文件.在这种情况下,它是domain.com/yourlaravel4_base/.在yourlaravel4_base/内部,我们需要存储基本Laravel 4目录中存在的每个文件和文件夹.这将是app/bootstrap/vendor/server.php等.除了/public/文件夹之外,所有内容都已经存储在public_html/yourlaravel4/中.

Now, for the rest of the files. You have to go to the root of your web hosting files, that is, you wanna be at domain.com/ level, therefore being able to see public_html/ and some other folders. Then, we need to create a folder here, where Laravel 4's base files will be stored. In this case, it's domain.com/yourlaravel4_base/. Inside yourlaravel4_base/ we need to store every file and folder that exists in the base Laravel 4 directory. That would be app/, bootstrap/, vendor/, server.php, etc. Everything EXCEPT the /public/ folder, whose contents you already stored in public_html/yourlaravel4/.

最后,我们需要编辑2个文件:Laravel的/bootstrap/paths.php/public/index.php.

Finally, we need to edit 2 files: Laravel's /bootstrap/paths.php and /public/index.php.

paths.php文件中,替换:

In the paths.php file, replace:

'app' => __DIR__.'/../app',

具有:

'app' => __DIR__.'/../../yourlaravel4_base/app',


paths.php文件中,替换:


In the paths.php file, replace:

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

具有:

'public' => __DIR__,


paths.php文件中,替换:


In the paths.php file, replace:

'base' => __DIR__.'/..',

具有:

'base' => __DIR__.'/../../yourlaravel4_base',


paths.php中,替换:


In paths.php, replace:

'storage' => __DIR__.'/../app/storage',

具有:

'storage' => __DIR__.'/../../yourlaravel4_base/app/storage',


index.php中,替换:


In index.php, replace:

require __DIR__.'/../bootstrap/autoload.php';

具有:

require __DIR__.'/../../yourlaravel4_base/bootstrap/autoload.php';


index.php中,替换:


In index.php, replace:

$app = require_once __DIR__.'/../bootstrap/start.php';

具有:

$app = require_once __DIR__.'/../../yourlaravel4_base/bootstrap/start.php';

上传更改.现在,您应该可以在网站的子文件夹中安装Laravel 4,而无需实际暴露app/文件夹和其他敏感文件. :)

Upload changes. Now you should be able to have Laravel 4 installed in a subfolder in your website without actually exposing the app/ folder and other sensitive files. :)

这篇关于如何在不公开暴露/app/文件夹的情况下将Laravel 4安装到虚拟主机子文件夹?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆