如何安装Laravel 4到Web主机子文件夹没有公开/ app /文件夹?(How to install Laravel 4 to a web host subfolder without publ

编程入门 行业动态 更新时间:2024-10-25 00:25:44
如何安装Laravel 4到Web主机子文件夹没有公开/ app /文件夹?(How to install Laravel 4 to a web host subfolder without publicly exposing /app/ folder?)

我想知道有没有人知道在网络主机SUBDIRECTORY /子文件夹中安装Laravel 4的方法,而不会将/ app /文件夹和其他明智的文件暴露给主机的公开访问部分。

这个想法是,我可以访问http://mydomain.com/mylaravel/以使用Laravel,但同时我想避免任何人像http://mydomain.com那样做某事/ app /或http://mydomain.com/mylaravel/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.

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.

最满意答案

所以我想出了如何做到这一点。 我将以一个例子来解释。

假设你是一个域, 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等。一切除了/public/ folder,其内容已经存储在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/文件夹和其他敏感文件。 :)

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

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/ 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.

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/.

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


In the paths.php file, replace:

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

with:

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

In the paths.php file, replace:

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

with:

'public' => __DIR__,

In the paths.php file, replace:

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

with:

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

In paths.php, replace:

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

with:

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

In index.php, replace:

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

with:

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

In index.php, replace:

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

with:

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

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. :)

更多推荐

本文发布于:2023-08-04 21:47:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1421995.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件夹   主机   app   install   Web

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!