我需要一個laravel 5.2 routes.php條目,它可以捕獲網站的特定域名/premium-section的所有流量,以便我可以提示用戶成爲會員在訪問優質內容之前。如何在Laravel 5.2中創建Catch-All Route
我會回答我自己的問題〜希望人們可以使用此信息。
我需要一個laravel 5.2 routes.php條目,它可以捕獲網站的特定域名/premium-section的所有流量,以便我可以提示用戶成爲會員在訪問優質內容之前。如何在Laravel 5.2中創建Catch-All Route
我會回答我自己的問題〜希望人們可以使用此信息。
但沒有任何匹配的方法,只是一個全部。
Route::group(['as' => 'premium-section::',
'prefix' => 'premium-section',
'middleware' => ['web']],
function(){
Route::any('', '[email protected]');
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;
}
}
你也可以通過在參數上使用正則表達式來捕捉'all'。
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'。
感謝您的回答。我想知道爲什麼Laravel沒有被編碼爲使用簡單的'Route:any('*')'! – PHPst
該做的伎倆:
Route::any('/{any}', '[email protected]')->where('any', '.*');
這是一個答案? – lagbox
雅,它爲我工作。 –
,這樣路線就會抓住'domain.com/premium-section/anywhere/they/try/to/go'? – lagbox