我使用Laravel框架。如您所知,其目录如下所示:
打开我的网站主页(Route::get('/'),'HomeController@index“);
)我需要打开目录的/public
文件夹。换句话说,要查看我网站的第一页,请访问以下URL:
http://example.com/public
无论如何,只有我的域名(http://example.com/
)不是我的根目录。如何将/public
文件夹设为根目录?
现在我找到了一个变通办法。我可以在根上创建一个index.php
,并将代码重定向到/Public
文件夹。因此,当用户输入http://example.com/
时,它将被自动重定向到http://example.com/public
。但这仍然很丑陋。我不喜欢在URL中看到/Public
。有什么建议吗?
步骤1:将/public/index.php和/public/htaccess文件作为/index.php和/htaccess放在根目录中
步骤2:现在在index.php中进行更改
require __DIR__.'/../bootstrap/autoload.php'; //OLD code
$app = require_once __DIR__.'/../bootstrap/app.php';
到
require __DIR__.'./bootstrap/autoload.php'; //NEW code
$app = require_once __DIR__.'./bootstrap/app.php';
不要复制任何Laravel文件。使用web服务器(Apache或Nginx)将Laravel项目指向public
目录。
对于Apache,您可以使用以下指令:
DocumentRoot "/path_to_laravel_project/public"
<Directory "/path_to_laravel_project/public">
对于nginx,您应该更改此行:
root /path_to_laravel_project/public;
有很多方法可以做到这一点。
您只需要从公共目录中剪切index.php
和.htaccess并将其粘贴到根目录中,就这样,并将index.php
中的两行替换为
require __DIR__.'/bootstrap/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';
最好的方法是.htaccess
。在Laravel安装的根目录中创建.htaccess
文件。下面的代码适用于此。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
你可以从这里读:方法
问题内容: 我使用的共享主机使用cPanel作为其控制面板,并且cPanel中是默认的根目录,因此,我无法正常运行Laravel应用程序。 有什么方法可以使Laravel 代替公用文件夹? 问题答案: 通过简单的搜索就很容易找到它。 在您的index.php中添加以下3行。 编辑: 正如Burak Erdem提到的,另一个选择(也是更可取的)是将其放入 方法中。
我有一个像这样的文件夹 应用程序 供应商 引导程序 公开的 文件夹 img 当我从url访问时http://example.com/img/img.png它工作,但当我喜欢访问http://example.com/img/我得到禁止403,我需要的是重定向或显示该页面没有找到我的。htaccess看起来像这样。 选项-多视图选项-索引重写引擎打开
我使用Codeigniter与Hostgator共享托管。 如何在public_html 403中设置子目录/文件夹?但此文件夹中的文件是可访问的。 例子: /public_html/this_forlder_forbidden/this-file-not-forbidden.ext 例1 /public_html/js/jquery。js /public_html/css/style.css 下
我的共享主机帐户上有第二个域 我的laravel项目位于根目录中 laravel公用文件夹位于public_html下。public\u html/public 注意:我不希望公共文件直接位于public_html下,因为我还有其他文件会被覆盖。 我已经将这些更改为索引中的行。php文件。 需要目录。“//肌醇结构域。com/供应商/自动加载。php′; require_onceDIR/.../.
我正在网上浏览所有可能的样本来解决这个问题。这仍然是一个头痛。 我只是想避免中的公共,并使其像根目录的。 现在我不想回避安全问题,所以我学习了将是最好的方式。 朋友们,有什么解决办法吗?
问题内容: 我正在浏览互联网上所有可能的示例以解决此问题。仍然令人头疼。 我只想避免进入’public’ 并使其像根目录一样。 现在我不想避免安全问题,因此我了解到这是最好的方法。 有什么解决办法的朋友吗? 并提前感谢您的互动! 问题答案: 假设您的服务器中具有此文件夹结构 laravel文件夹结构是 您可以在服务器上与和内联的文件夹中创建一个名为mylaravelsite的文件夹,然后将除公共文