一尘不染

避免使用laravel的公用文件夹,并直接在Web服务器中打开根目录

php

我正在浏览互联网上所有可能的示例以解决此问题。仍然令人头疼。

我只想避免进入’public’ www.mylaravelsite.com/public/
并使其像www.mylaravelsite.com根目录一样。

现在我不想避免安全问题,因此我了解到.htaccess这是最好的方法。

有什么解决办法的朋友吗?

并提前感谢您的互动!


阅读 391

收藏
2020-05-29

共1个答案

一尘不染

假设您的服务器中具有此文件夹结构

.cpanel/
public_html/
public_ftp/
..

laravel文件夹结构是

app/
bootstrap/
public/
vendor/
composer.json
artisan
..

您可以在服务器上与public_html和内联的文件夹中创建一个名为mylaravelsite的public_ftp文件夹,然后将除公共文件夹之外的整个laravel应用程序复制到该文件夹​​中,因为您会将所有内容粘贴到上public_html,因此,您现在可以:

.cpanel/
public_html/
public_html/packages
public_html/vendor
public_html/index.php
public_html/.htaccess
...
public_ftp/
mylaravelsite/
mylaravelsite/app
mylaravelsite/bootstrap
...

在您的public_html/index.php更改中,以下行:

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

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

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

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

并且不要忘记更改 /mylaravelsite/bootstrap/paths.php公共路径,您可以使用它。

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

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

您的网站应该正在运行。

2020-05-29