title: Laravel middleware 'except' rule not working
body: <p>I have a controller with the following in the constructor:</p>
  
  <pre><code>$this-&gt;middleware('guest', ['except' =&gt;
      [
          'logout',
          'auth/facebook',
          'auth/facebook/callback',
          'auth/facebook/unlink'
      ]
  ]);
  </code></pre>
  
  <p>The 'logout' rule (which is there by default) works perfectly but the other 3 rules I have added are ignored. The routes in <code>routes.php</code> look like this:</p>
  
  <pre><code>Route::group(['middleware' =&gt; ['web']],function(){
  
      Route::auth();
  
      // Facebook auth
      Route::get('/auth/facebook', 'Auth\AuthController@redirectToFacebook')-&gt;name('facebook_auth');
      Route::get('/auth/facebook/callback', 'Auth\AuthController@handleFacebookCallback')-&gt;name('facebook_callback');
      Route::get('/auth/facebook/unlink', 'Auth\AuthController@handleFacebookUnlink')-&gt;name('facebook_unlink');
  }
  </code></pre>
  
  <p>If I visit <code>auth/facebook</code>, <code>auth/facebook/callback</code> or <code>auth/facebook/unlink</code> whilst logged in I get denied by the middleware and thrown back to the homepage.</p>
  
  <p>I've tried specifying the 'except' rules with proceeding <code>/</code>'s so they match the routes in <code>routes.php</code> exactly but it makes no difference. Any ideas why these rules are being ignored, whilst the default 'logout' rule is respected?</p>
  
  <p>Cheers!</p>