![](/img/trans.png)
[英]how to correctly use url paths point to laravel apps using nginx?
[英]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.