簡體   English   中英

laravel無法正確使用網址

[英]laravel cannot use url correctly

我只是安裝了laravel環境,我在url上遇到了一些問題,對此我不了解。 在這里首先運行的index.php。

<a href="pass">pass to page</a>

當我單擊“傳遞到頁面”鏈接時,它可能會轉到我鏈接到的頁面。 但找不到404。 這是應用目錄中的routes.php

Route::get('/', 'HomeController@showWelcome');
Route::get('pass', 'PassController@passToPage');

這是PassController中的函數

public function passToPage()
{
    return View::make('pass');
}

我注意到我只使用'\\'(默認目錄),而不能使用其他目錄。 在此先感謝我在新laravel。

您的代碼中有棘手的部分。

首先,您應該在鏈接中使用斜杠前綴。 例如:

<a href="/pass">pass to page</a>

或像這樣

<a href="{{ URL::to('pass', $params) }}">

如果使用時不加斜線,則href值可以放在當前路由的前面。 如果將其與斜杠前綴一起使用,它將始終指向根端點。

您可以考慮使用usig命名路線。 例如

Route::get('pass', [
    'as' => 'pass', 'uses' => 'PassController@passToPage'
]);

然后在刀片視圖中按以下方式調用此路由:

<a href="{{ URL::route('pass', $params) }}">

如果沒有參數,則可以用[]替換$ params

如果錯誤仍然存​​在,則問題出在其他地方。

最好使用命名路由 這樣,您可以更改URL而無需修改應用程序中的鏈接。

Route::get('pass', ['uses' => 'PassController@passToPage', 'as' => 'pass']);

<a href="{{ route('pass') }}">pass to page</a>

我用這個問題解決了。 第一次,我嘗試直接轉到該網址

http://localhost/test/ccc/public/pass

它不起作用,但是當我想轉到頁面頁面時,我需要像這樣包含index.php

http://localhost/test/ccc/public/index.php/pass

當我鍵入它時,它可以工作,但是我想從url中刪除index.php。 為了解決這個問題,我需要啟用mod_rewrite。 所以我去了httpd.conf,刪除#號並啟用mod_rewrite。 現在可以使用該網址

http://localhost/test/ccc/public/pass

暫無
暫無

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

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