Passer une variable dans l'url de laravel

Je suis assez nouveau dans laravel et j'ai du mal à obtenir le format de mon url correcte.

Il formats

http://mysite/blog?category1 instead of http://mysite/blog/category1

Ce sont les fichiers que je suis en utilisant, il est un moyen de mettre la route dans le BlogController

Route.php

Route::get('blog/{category}', function($category = null)
{
    //get all the blog stuff from database
    //if a category was passed, use that
    //if no category, get all posts
    if ($category)
        $posts = Post::where('category', '=', $category)->get();
    else
        $posts = Post::all();

    //show the view with blog posts (app/views/blog.blade.php)
    return View::make('blog.index')
        ->with('posts', $posts);
});

Blogcontroller

class BlogController extends BaseController {


    public function index()
    {
        //get the posts from the database by asking the Active Record for "all"
        $posts = Post::all();

        //and create a view which we return - note dot syntax to go into folder
        return View::make('blog.index', array('posts' => $posts));
    }
}

blog.l'indice de la lame

@foreach ($posts as $post)

    <h2>{{ $post->id }}</h2>
    <p>{{ $post->name }}</p>
    <p>{{ $post->category }}</p>
     <h2>{{ HTML::link(
    action('BlogController@index',array($post->category)),
    $post->category)}}


@endforeach
Êtes-vous sur apache ou nginx, je pense que c'est un problème de réécriture d'url.
Qu'entendez-vous par "formats" ? Lorsque vous tapez dans le navigateur? Ou les liens générés par Laravel?
Le lien généré par laravel à partir de la db. maintenant s'afficher comme localhost/blog?category=category1 et il ne filtre pas les db résultats si quelque chose cloche quelque part

OriginalL'auteur tom harrison | 2014-10-16