2016-06-19 3 views
2

경로, 난 내 길을 내가 "http://localhost:8000/blog는"이 페이지로 돌아 가면Laravel 5.1 내가 경로에 문제가 나던 작업

public function blog() 
    { 

     $articles = Article::OrderBy('id','DESC')->paginate(3); 
     $Allarticles = Article::OrderBy('id','DESC')->get(); 
     $Allcategories = BlogCategory::OrderBy('id','DESC')->get(); 
     $Alltags = Tag::OrderBy('id','DESC')->get(); 
     $Allcomments = Comment::OrderBy('id','DESC')->take(3)->get(); 

     return view('blog', compact('articles','Alltags','Allarticles','Allcategories','Allcomments')); 
    } 

내가 전에 있었던 곳. route-> back()과 유사합니다.

왜 내가이 문제가 있는지 알지 못하지만 다른 블로그 경로는 잘 작동합니다.

public function blog() 
     { 
      return "Hi"; 

     } 

은 "안녕"를 반환 나던, 그래서 내가 경로에 문제가 생각 :

나는 다음과 같은 몇 가지 테스트를 수행. 나는 여기 미숙 한 미들웨어가 없다, 블로그/기사 같은 다른 경로는 잘 작동한다.

+0

blog.blade.php의 전체 경로는 무엇입니까? Route를 다른 Route로 대체 할 수 있습니까? routes.php – bobbybackblech

+0

보기/blog.blade.php이 경로의 맨 위에 경로를 넣어보십시오, 내가 폴더를 사용하지 않은 이유는 모르겠지만 왜 작동하지 않습니다. 만약 내가 존재하지 않는 루트에 가면 같은 문제가 생깁니다. –

+0

문제는 : Route :: get ('/ {username}', 'FrontController @ user'); 내가 삭제 및 작동 –

답변

0

확인 사람들의 모습을 가진 가치 로그 문제가 있었다 :

Route::get('/{username}', '[email protected]'); 

는 여기에 몇 가지 오류가있다, 내가 모르는 오류, 어쩌면 경로, 내가 이것을 삭제하고 normaly 작동합니다.

1

경로 파일의 내용을 게시 할 수 있습니까? 매개 변수가 들어있는 'blog'의 경로가 게시 된 경우 (예 : Route::get('blog/{blog_post_id}, ...) 파일에서 'blog' 아래로 이동해보십시오.

위의 내용이 아닌 경우 게임에서 캐싱이 생길 수도있는 것처럼 들리지만 프로덕션 환경이 어떻게 작동 하는지를 확인하기 위해 최적화 작업을 수행 할 때 일상적으로 나를 잡습니다. 모든 캐시를 지우는 것을 잊어 버리십시오. 여기에 내 일반적인 수정 사항이 있습니다.

php artisan route:clear 
php artisan view:clear 
php artisan cache:clear (Side note, clears all auth sessions, will require a re-log) 
composer dump-autoload 
php artisan optimize --force 

이렇게하면 경로,보기 및 권한 부여를 위해 만들어진 모든 캐시가 완전히 지워집니다.

은 또한 당신의 Laravel 로그를 확인하고 아파치/Nginx에 항상뿐만 아니라 내가 고정

+0

내가 블로그와 관련된 모든 경로로 업데이 트되었습니다 :) –

+0

고마워요, 루트 파일이 좋아 보인다, 캐시를 닦아내는 데 도움이되는지 그 명령을 실행 해보십시오. 또한 Apache/NginX + MySQL 서비스를 재부팅 할 수도 있습니다. – DLMousey

+0

예! tryed! 그러나 같은 문제! –

0

문제점은 라우트 파일의 패턴 일치입니다. 경로가 URI와 일치하는 첫 번째 경로에 할당 된 것처럼 보입니다.

Route::get('/{username}', '[email protected]'); 
Route::get('blog', '[email protected]'); 

http://localhost:8000/blog 경기 모두 {username}blog 될 수 있으므로 Route::get('/{username}', '[email protected]'); 항상 사용되므로이 노선.

경로 이름에 더 구체적 (예 : 텍스트 추가) 또는 경로 순서에 따라 더 구체적으로 지정해야합니다. 다음은 현재의 경로가 원하는대로 정렬 된 예입니다.

Route::get('dashboard/password', '[email protected]'); 

Route::post('dashboard/updatepassword', '[email protected]'); 

// blog routes 

    Route::get('blog', '[email protected]'); 
    Route::get('blog/{slug}', '[email protected]'); 
    Route::get('blog/category/{name}', '[email protected]'); 
    Route::get('blog/tag/{name}', '[email protected]'); 

    Route::resource('comment', 'CommentController'); 

// PAGINA UTENTE PUBBLICA 

Route::get('{username}', '[email protected]');