如何以正确的方式重写或删除laravel 5网址中的公众?

时间:2016-08-24 09:21:11

标签: php laravel laravel-5

我试图从laravel网址中删除public/index,因为这是常见问题之一,所以有很多教程和答案。我也搜索过这个并跟随@ rimon.ekjon answer这对我来说很好,这很简单。

  

将Laravel根文件夹中的server.php重命名为index.php,并将.htaccess文件从/ public目录复制到Laravel根文件夹。 - 而已 !! :)

我混淆了为什么我应该将某个地方重命名或移动到另一个地方,因为公共文件夹中存在文件的原因。我想展示另一个好的{{3}},它也遵循几乎相同的模式。

我认为通过以上答案'如果项目中存在新要求或新要求请求,则可能在将来创建一些问题。

所以任何人都可以指导我是否最好重写或删除laravel 5中的public/index。如果有人指导我,我很感激。

5 个答案:

答案 0 :(得分:5)

您应该将Web服务器的文档/ Web根目录配置为public目录。这样你就不必复制/移动/删除任何东西。

对于apache,您可以查看here

对于nginx,您可以阅读here

答案 1 :(得分:1)

我已经访问了您的链接,看到了非常糟糕的建议。

您无需移动任何Laravel文件或修改它们。您需要的是设置Web服务器。您需要将其指向位于Laravel项目根文件夹内的public目录。

请查看here以获取Apache和nginx的示例配置指令。

答案 2 :(得分:0)

另一个选项是将public文件夹符号链接到服务器的根文件夹(例如/var/www/)。 This article是如何做到这一点的好指南。

在您的开发环境中,您可以使用php artisan serve

答案 3 :(得分:0)

如果您无法访问服务器配置,这是一个完美的解决方案https://stackoverflow.com/a/32580688/5015089

答案 4 :(得分:0)

在没有 htaccess 的情况下从 url 中删除 public。它也适用于 Laravel 最新版本。

步骤 1. 从 public 复制所有文件并粘贴到根目录

步骤 2. 打开 index.php 文件,从下面给出的路径中删除 ../

Laravel5:

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

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

require_once __DIR__.'/../bootstrap/app.php';

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

Laravel 7:

require __DIR__.'/vendor/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';