più percorsi nel singolo Itinerario::get() chiamata Laravel 4

Quando la definizione di un percorso in Laravel 4 e ‘ possibile definire più di URI percorsi all’interno dello stesso percorso?

attualmente faccio la seguente:

Route::get('/', '[email protected]');
Route::get('/dashboard', array('as' => 'dashboard', 'uses' => 'v1\[email protected]'));

ma questo sconfitte il mio scopo, mi piacerebbe fare qualcosa di simile

Route::get('/, /dashboard', array('as' => 'dashboard', 'uses' => '[email protected]'));
  • Personalmente, io preferisco reindirizzare / per /dashboard (o viceversa) per il SEO e semplicità, perché sono due url visualizzare l’esatta stesso contenuto ?
  • Danault In alcuni casi, si vuole, si può leggermente variare il contenuto del vostro punto di vista in base al percorso, ma che, allo stesso tempo, gestire le richieste con un singolo controller (cioè non ripetere l’intera logica in 3 diversi metodi di controllo).
InformationsquelleAutor AndrewMcLagan | 2013-07-05



3 Replies
  1. 4

    Se ho capito la tua domanda giusta direi:

    Utilizzare Percorso Prefisso: http://laravel.com/docs/routing#route-prefixing

    O (Opzionale) Parametri Del Percorso: http://laravel.com/docs/routing#route-parameters

    Così, per esempio:

    Route::group(array('prefix' => '/'), function() { Route::get('dashboard', '[email protected]'); });

    O

    Route::get('/{dashboard?}', array('as' => 'dashboard', 'uses' => '[email protected]'));
    • Il secondo esempio si adattano a qualsiasi uri ad esempio /foo questa risposta è sbagliata
  2. 22

    Credo che è necessario utilizzare un parametro opzionale con una espressione regolare:

    Route::get('/{name}', array(
         'as' => 'dashboard', 
         'uses' => '[email protected]')
        )->where('name', '(dashboard)?');

    * Supponendo che si desidera inviare lo stesso controller che non è del tutto chiara la questione.

    * Corrente accettato risposta corrisponde a tutto, non solo / O /dashboard.

    • 2 anni dopo, questa domanda è ancora rilevante. È possibile, tuttavia, per gestire il caso con più di due vie? Es: stesso controller a ‘/’, ‘/dashboard’, e ‘/home’? Possiamo limitare ulteriormente il parametro opzionale per ‘casa’, così come ‘dashboard’?
    • la domanda è pertinente. c’è qualche soluzione finora?
  3. 12

    Trovo interessante, per curiosità, amore per tentare di risolvere questo quesito inviato da @Alex come commento sotto @graemec‘s risposta al post di una soluzione che funziona:

    Route::get('/{name}', [
        'as' => 'dashboard', 
        'uses' => '[email protected]'
      ]
    )->where('name', 'home|dashboard|'); //add as many as possible separated by |

    Perché il secondo argomento di where() si aspetta che le espressioni regolari in modo che possiamo assegnare una corrispondenza esattamente qualsiasi di coloro che sono separati da | quindi il mio pensiero iniziale di proporre un whereIn() in Laravel percorso è risolto da questa soluzione.

    PS:Questo esempio è testato su Laravel 5.4.30

    Nella speranza che qualcuno lo trova utile

Lascia un commento