title: Simple route will not match
body: <p>I can't see what's wrong with this route in CakePHP.</p>
  
  <p><code>http://www.example.com/board/app-max</code> will not match.</p>
  
  <p>Here is my route</p>
  
  <pre><code>Router::connect(
      '/board/:key',
      array('controller'=&gt;'posts','action'=&gt;'board'),
      array('key'=&gt;'[a-z\-]+')
  );
  </code></pre>
  
  <p>I end up with a <code>BoardController</code> not found error.</p>
  
  <p><code>http://www.example.com/board/app</code> matches succesfully. So my problem is when <code>key</code> contains a dash.</p>
  
  <p><strong>EDIT:</strong> I've found that <code>[A-Za-z0-9\-_]+</code> works fine, but <code>[a-z\-]+</code> does not.</p>
  
  <h2>Setup Details</h2>
  
  <ul>
  <li>PHP 5.4.16</li>
  <li>CakePHP 2.4.1</li>
  <li>Windows 7</li>
  <li>Zend Community Server 6.1</li>
  </ul>
  
  <h2>.htaccess</h2>
  
  <pre><code>&lt;IfModule mod_rewrite.c&gt;
  RewriteEngine On
  
      # Redirect non-www urls to www
      RewriteCond %{HTTP_HOST} !^$
      RewriteCond %{HTTP_HOST} !^www\. [NC]
      RewriteCond %{HTTPS}s ^on(s)|
      RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  
      # Rewrite rule for CakePHP
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)$ index.php [QSA,L]
  &lt;/IfModule&gt;
  </code></pre>