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

Zl3*_*l3n 6 .htaccess laravel lumen

我有一个大问题.我使用Lumen框架在localhost中处理应用程序.我的工作环境是在Wamp(Windows)上.

Lumen要求root位于public文件夹中.

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

NameVirtualHost name.local
<VirtualHost name.local>    
  DocumentRoot C:/wamp/www/name/public
  ServerName name.local  
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

所以,如果我把地址name.local/放在我的浏览器中,我就可以到达索引页面.

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

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

Zl3*_*l3n 15

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

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

RewriteEngine On

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

假设您没有触及Lumen的原始架构,并且公共数据仍然在同一个位置:public/文件夹

编辑:

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

RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
Run Code Online (Sandbox Code Playgroud)

或者按照本教程的第二种方法操作