首先,请考虑到这个答案只是为了使其工作,我不确定这可能会对安全产生任何影响,因为每个文件夹都位于站点的公共部分。
其次,我只是通过准系统 Laravel 安装尝试了这一点,所以我不确定这是否会在以后的开发中产生影响(我的猜测不会,但你永远不知道)。
1)复制所有内容public
Laravel 根文件夹中的文件夹(这是您的子文件夹)
2)您现在可以删除空的public
folder
3) edit index.php
并改变
// --------------------------------------------------------------
// Set the core Laravel path constants.
// --------------------------------------------------------------
require '../paths.php';
to
// --------------------------------------------------------------
// Set the core Laravel path constants.
// --------------------------------------------------------------
require './paths.php';
4)编辑paths.php并更改
// --------------------------------------------------------------
// The path to the public directory.
// --------------------------------------------------------------
$paths['public'] = 'public';
to
// --------------------------------------------------------------
// The path to the public directory.
// --------------------------------------------------------------
$paths['public'] = '.';
5) 编辑 laravel 文件夹中的 .htaccess 文件,使其不再重定向到 public
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>