簡體   English   中英

Laravel 路由在生產服務器 404 錯誤上不起作用

[英]Laravel routes are not working on production server 404 error

我有一個 laravel 項目,它在本地機器上運行良好,我在 homestead 上設置了它,但是當我在 namecheap 上將項目上傳到生產服務器時,沒有任何鏈接或路由工作,我只得到索引頁打開時沒有樣式,如果我點擊任何鏈接,我會收到 500 錯誤。 我已按照此處建議的步驟操作:

所以,我的 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錯誤。

問題可能出在受信任的主機上

嘗試在您的.env設置它

APP_URL=http://

您需要在共享主機中設置Laravel項目, 這里有很好的解釋。

通過所有7個步驟成功后,您的項目應該在服務器上正常工作。

另外將它添加到public_html .htacces文件中

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^ index.php [L]

希望能幫助到你

選項-MultiViews

RewriteEngine On
RewriteBase /laravel51/public/

#更改到您的網站上面,即RewriteBase / whatever / public /

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

在.htaccess文件中必須更改

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM