我已经完成了我漂亮的Laravel应用,我们在开发PC上将其称为Beautiful
。因此,现在该将其置于生产环境中。
我们正在使用Apache,并且被告知我的应用程序必须在/var/apache/html/projects/Beautiful
下,因此我转移了该应用程序(使用Git),运行了作曲家和npm,等等。我已经更改了.env文件,因此它可以连接到生产postgres数据库等。
即使索引页在http:://ourserver/Beautiful/public
中正常工作,这也是我的问题。
要在没有/public
的情况下运行,我还需要配置什么?问题在于,显然所有路线都不适用于公共路线,例如http://ourserver/Beautiful/public/login
无效,或其他任何路线。
这是Apache的配置,还是Laravel中我可以做的事情?
我知道正确的做法是在Apache中创建一个指向Beautiful.ourserver.com的虚拟主机,但是我无法控制DNS,我所能做的就是在我们的服务器上工作。
答案 0 :(得分:1)
如果我正确理解了问题,则应遵循以下路径。
将所有公用文件夹中的内容放入/var/apache/html/projects/Beautiful
,然后将所有laravel文件夹和文件放入/var/apache/html/{somewhere}
。现在编辑/var/apache/html/projects/Beautiful/index.php
并像这样进行编辑,
-require __DIR__.'/../vendor/autoload.php';
至require __DIR__.'/../{somewhere}/vendor/autoload.php';
-$app = require_once __DIR__.'/../bootstrap/app.php';
至$app = require_once __DIR__.'/../{somewhere}/bootstrap/app.php';';
并在此$app = require_once __DIR__.'/../{somewhere}/bootstrap/app.php';';
之后添加以下内容
-$app->bind('path.public', function() {
return __DIR__;
});