重定向到 Lumen (Laravel) 上的公用文件夹
Posted
技术标签:
【中文标题】重定向到 Lumen (Laravel) 上的公用文件夹【英文标题】:Redirect to public folder on Lumen (Laravel) 【发布时间】:2015-08-24 17:48:45 【问题描述】:我有一个大问题。我使用 Lumen 框架在 localhost 中处理应用程序。 我的工作环境是在 Wamp (Windows) 上。
Lumen 要求根目录位于 public
文件夹中。
为此,我有一个这样的配置文件:
NameVirtualHost name.local
<VirtualHost name.local>
DocumentRoot C:/wamp/www/name/public
ServerName name.local
</VirtualHost>
所以,如果我在浏览器中输入地址name.local/
,就可以访问索引页面。
现在,我需要将所有工作都放在 FTP 中。在那里,我有一个异常错误,这是正常的,因为我的根不是public
文件夹。
更新:我找到了答案,请看下面。
【问题讨论】:
FTP?文件传输协议?或其他一些 TLA(三个字母的首字母缩写词) 是的,使用像filezilla这样的软件 ftp 和 php 无关……这个异常错误到底是什么? @MarcB 抱歉,使用了标签。这个:Sorry, the page you are looking for could not be found.
你的问题不够清楚,请冷静下来,把你的问题详细阐述清楚,打字可能需要几分钟,但一定会给你一个合适的答案
【参考方案1】:
好的,经过几天的搜索,我找到了解决方案。
在应用程序的根目录中添加一个.htaccess
文件并将其添加到此文件中:
RewriteEngine On
RewriteCond %THE_REQUEST /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
假设你没有接触过 Lumen 的原始架构,并且公共数据仍然在同一个地方:public/
文件夹
编辑:
使用 Lumen 和 Laravel 的最新版本,您可以将其写入 .htaccess
文件:
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
或者按照this tutorial的第二种方法
【讨论】:
很好的解决方案,特别是对于那些强迫您调用文件夹“public_html”的主机。 真的成功了!!!以上是关于重定向到 Lumen (Laravel) 上的公用文件夹的主要内容,如果未能解决你的问题,请参考以下文章
Lumen + nginx = 错误 500,重写或内部重定向循环,同时内部重定向到“/index.php”
Lumen:刚刚安装了lumen,无法从公用文件夹中获取资源
Beyondcode\laravel-websockets 它正在重定向到 wss 而不是 localhost 上的 ws