Tar*_*dam 26 php routing laravel-5
我需要一个laravel 5.2 routes.php条目,它将捕获网站特定domain.com/premium-section的所有流量,以便我可以在访问高级内容之前提示人们成为成员.
我会回答我自己的问题〜希望人们可以使用这些信息.
lag*_*box 41
你也可以通过在参数上使用正则表达式来捕获'all'.
Route::group(['prefix' => 'premium-section'], function () {
// other routes
...
Route::get('{any}', function ($any) {
...
})->where('any', '.*');
});
Run Code Online (Sandbox Code Playgroud)
如果没有使用可选参数定义路由,也可以捕获整个组.
Route::get('{any?}', function ($any = null) {
...
})->where('any', '.*');
Run Code Online (Sandbox Code Playgroud)
最后一个也会捕获'domain.com/premium-section'.
小智 21
这样做的诀窍:
Route::any('/{any}', 'MyController@myMethod')->where('any', '.*');
Run Code Online (Sandbox Code Playgroud)
但没有任何匹配方法,只是一个包罗万象的方法。
Route::group(['as' => 'premium-section::',
'prefix' => 'premium-section',
'middleware' => ['web']],
function(){
Route::any('', 'PremiumSectionController@premiumContentIndex');
Route::controller('/', 'PremiumSectionController');
});
Run Code Online (Sandbox Code Playgroud)。
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;
}
}
Run Code Online (Sandbox Code Playgroud)