Laravel路由无法处理生产服务器404错误

时间:2017-01-16 14:09:32

标签: php laravel server

我有一个laravel项目,在本地机器上运行正常,我在hometead上设置了它,但是当我在namecheap上将项目上传到生产服务器时,没有链接或路由正常工作,我只打开没有样式的索引页面,如果我点击任何链接,我得到500错误。 我已按照建议的步骤here

因此,我的laravel项目目录与public_html处于同一级别,以及我的laravel项目中的公共目录。它们都在同一目录级别。我已经更改了index.php文件中的路径:

require __DIR__.'/mariva/bootstrap/autoload.php';
$app = require_once __DIR__.'/mariva/bootstrap/app.php';

然后,我更改了laravel项目目录中的server.php:

require_once __DIR__.'../public_html/index.php';

权限显然是由namecheap客户服务设置的,但是我的所有css和js文件以及点击我页面上的一些html链接时仍然会出现404错误。

在视图文件中,我正在调用我的css文件:

<!-- CSS Files -->
  <link href="{{ asset('css/material-kit/css/bootstrap.min.css') }}" rel="stylesheet" />
  <link href="{{ asset('css/material-kit/css/material-kit.css') }}" rel="stylesheet"/>
  <link href="{{ asset('css/landing-page.css') }}" rel="stylesheet"/>

js以同样的方式提交文件:

<!--   Core JS Files   -->
<script src="{{ asset('js/landing-page/jquery.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('js/landing-page/bootstrap.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('js/landing-page/material.min.js') }}"></script>

<!-- Control Center for Material Kit: activating the ripples, parallax effects, scripts from the example pages etc -->
<script src="{{ asset('js/landing-page/material-kit.js') }}" type="text/javascript"></script>

不确定我该如何解决?

更新

我已经设法修复了没有打开文件的css和js问题,我错误地将文件移动到了错误的目录。但是我仍然无法在页面上找到任何链接吗?

在我看来,我有这样的链接:

<a href="{{ url('/login') }}">Login</a>

点击它们时出现404错误。

3 个答案:

答案 0 :(得分:0)

您需要在共享主机中设置Laravel项目,这已得到很好的解释here

通过所有7个步骤成功后,您的项目应该在服务器上正常工作。

同时将其添加到.htacces

中的public_html文件中
Options +FollowSymLinks
RewriteEngine On

RewriteRule ^ index.php [L]

希望有所帮助

答案 1 :(得分:0)

             选项-MultiViews     

self.performSegue(withIdentifier: "goToXcontroller", sender: self)

#在您的网站上方更改,即RewriteBase / whatever / public /

RewriteEngine On
RewriteBase /laravel51/public/

在.htaccess文件中必须更改

答案 2 :(得分:0)

问题可能出在受信任的主机上

尝试在您的 .env

中设置
APP_URL=http://