我正在使用Laravel 5.4
,我想过滤子域名。
Route::group(['domain' => '{city}.localhost'], function () {
if ($city does not exist in database) {rediret to localhost};
Route::get('/', 'HomeController@home');
});
如果数据库中存在subdomain
,则继续。否则重定向到相同的地址,但没有子域。
答案 0 :(得分:3)
我建议使用中间件查询$ request URL并相应地重定向,就像RedirectIfAuthenticated
中间件一样。
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class CheckSubdomain
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
// check $request->url() here...
if ($notInDatabase) {
return redirect()->route('/somewhere');
}
return $next($request);
}
}