我使用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 =>其他目录和文件
答案 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