title: Cakephp prefix routing not working on Linux - but works on Windows
body: <p>I have a CakePHP 3 app and it has different plugins.  The plugins appear to load and accessing them on a dev Windows machine, WAMP, it all works fine.</p>
  
  <p>Once on the CentOS server, the plugin's prefix routing eg 'admin' stops working, getting a missing controller error:
  <a href="https://i.stack.imgur.com/a3cxM.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/a3cxM.png" alt="enter image description here"></a></p>
  
  <p>Log error:</p>
  
  <pre><code>2018-04-11 12:40:23 Error: [Cake\Routing\Exception\MissingControllerException] Controller class Contacts could not be found.
  Exception Attributes: array (
    'class' =&gt; 'Contacts',
    'plugin' =&gt; 'Contacts',
    'prefix' =&gt; 'admin',
    '_ext' =&gt; NULL,
  )
  Request URL: /myapp/contacts/admin/contacts
  Referer URL: https://***/myapp/anotherplugin/participants
  Stack Trace:
  #0 /srv/www/myapp/myapp-app/webroot/index.php(36): Cake\Routing\Dispatcher-&gt;dispatch(Object(Cake\Network\Request), Object(Cake\Network\Response))
  #1 /srv/www/myapp/myapp-app/index.php(16): require('/srv/www/mya...')
  #2 {main}
  </code></pre>
  
  <p>The controller does exists and contains:</p>
  
  <pre><code>namespace Contacts\Controller\Admin;
  
  use Contacts\Controller\AppController;
  
  use Cake\ORM\TableRegistry;
  use Authentication\Utility\TimeUtility;
  use Cake\I18n\Time;
  use Cake\Core\Configure;
  
  class ContactsController extends AppController{
  </code></pre>
  
  <p>Non-prefix routing seems fime.  The plugins are added in bootstrap.php like this:</p>
  
  <pre><code>Plugin::load('Contacts', ['bootstrap' =&gt; false, 'routes' =&gt; true]);
  </code></pre>
  
  <p>In plugins routing file:</p>
  
  <pre><code>&lt;?php
  use Cake\Routing\Router;
  
  Router::plugin('Contacts', function ($routes) {
      $routes-&gt;fallbacks('InflectedRoute');
  });
  
  Router::plugin('Contacts', function ($routes) {
      $routes-&gt;prefix('admin', function ($routes) {
          $routes-&gt;fallbacks('InflectedRoute');
      });
  });
  </code></pre>
  
  <p>In Apache the app is setup as an alias with mod rewrite - both on WAMP and on the CentOS server:</p>
  
  <pre><code>http://server-or-localhost/myapp/
  </code></pre>
  
  <p>Differences between local and server:</p>
  
  <ul>
  <li>Server is Linux, uppercase/lower case issues? </li>
  <li>Same PHP versions, but
  maybe some modules missing on server PHP?</li>
  <li>The server redirects http to https</li>
  </ul>