重定向到 Lumen 上的 public 文件夹 (Laravel)

Redirect to public folder on Lumen (Laravel)

我有一个大问题。我使用 Lumen 框架在本地主机上开发一个应用程序。 我的工作环境是 Wamp (Windows).

Lumen 要求根目录位于 public 文件夹中。

为此,我有一个这样的配置文件:

NameVirtualHost name.local
<VirtualHost name.local>    
  DocumentRoot C:/wamp/www/name/public
  ServerName name.local  
</VirtualHost>

所以,如果我在浏览器中输入地址 name.local/,我可以到达索引页面。

现在,我需要将我所有的工作放在 FTP 中。在那里,我有一个异常错误,这是正常的,因为我的根目录不是 public 文件夹。

更新:我找到了答案,请看下面。

好的,经过几天的搜索,我找到了解决方案。

在应用程序的根目录中添加一个 .htaccess 文件并将其添加到此文件中:

RewriteEngine On

RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^((?!public/).*)$ public/ [L,NC]

假设您没有接触过 Lumen 的原始架构,并且 public 数据仍在同一个地方:public/ 文件夹

编辑:

使用最新版本的 Lumen 和 Laravel,您只需将其写入 .htaccess 文件即可:

RewriteEngine On
RewriteRule ^(.*)$ public/ [L]

或者按照第二种方法this tutorial