安全Laravel网站托管

时间:2015-10-22 13:31:57

标签: php laravel hosting

我使用laravel开发了一个网站,在我的网站托管服务器上我找不到public目录,所以我更改了server.php

require_once __DIR__.'/public/index.php';

require_once __DIR__.'/index.php';

我移动了根目录中public文件夹的所有内容,网站运行良好但问题是我举例http://mywebsite.com/.env我可以显示{{1}的内容所以我的网站没有受到保护。

问题:

如何保护我的文件和目录?

我想要的结构示例:

.env

我网站的根目录=>公用文件夹内容

index.php .htaccess favicon.ico img/ css/ js/ laravel/ app/ bootstrap/ database/ config/ storage/ .env server.php ... directory =>其他目录和文件

2 个答案:

答案 0 :(得分:2)

将所有内容放回公共文件夹,并将更改还原为server.php。然后在您的顶级目录中添加一个.htaccess文件,其中包含以下代码:

<IfModule mod_rewrite.c>
   RewriteEngine On 
   RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

答案 1 :(得分:0)

我个人不会删除公用文件夹。您可以添加.htaccess文件或创建链接到/ public的符号链接,这两种方法都应该有效,但我通常会使用符号链接。

如果您的laravel安装文件夹被调用&#34; laravel&#34;并且您的服务器期望&#34; html&#34;要成为您网站的文件夹,您应该这样做:

ln -s laravel/public html