Мне нужна запись laravel 5.2 routes.php, которая поймает весь трафик на определенный домен domain.com/premium – раздел сайта, чтобы я мог пригласить людей стать членами, прежде чем обращаться к премиальному контенту.
Я отвечу на свой вопрос ~ и, надеюсь, люди могут использовать эту информацию.
Вы также можете поймать «все», используя регулярное выражение для параметра.
Route::group(['prefix' => 'premium-section'], function () { // other routes ... Route::get('{any}', function ($any) { ... })->where('any', '.*'); });
Также можно поймать всю группу, если маршруты не определены с необязательным параметром.
Route::get('{any?}', function ($any = null) { ... })->where('any', '.*');
Этот последний поймал бы «domain.com/premium-section».
Но нет подходящих методов, просто уловки.
Route::group(['as' => 'premium-section::', 'prefix' => 'premium-section', 'middleware' => ['web']], function(){ Route::any('', 'PremiumSectionController@premiumContentIndex'); Route::controller('/', 'PremiumSectionController'); });
,
namespace App\Http\Controllers; use ... class PremiumSectionController extends Controller{ public function premiumContentIndex(){ return 'no extra parameters'; } //magically gets called by laravel public function missingMethod($parameters = array()){ return $parameters; } }
Это делает трюк:
Route::any('/{any}', 'MyController@myMethod')->where('any', '.*');