简单的路线不匹配

时间:2013-10-14 12:38:17

标签: regex cakephp cakephp-2.4

我看不出CakePHP中这条路线有什么问题。

http://www.example.com/board/app-max将无法匹配。

这是我的路线

Router::connect(
    '/board/:key',
    array('controller'=>'posts','action'=>'board'),
    array('key'=>'[a-z\-]+')
);

我最终找不到BoardController错误。

http://www.example.com/board/app成功匹配。所以我的问题是当key包含破折号时。

编辑:我发现[A-Za-z0-9\-_]+工作正常,但[a-z\-]+没有。

设置详细信息

  • PHP 5.4.16
  • CakePHP 2.4.1
  • Windows 7
  • Zend社区服务器6.1

的.htaccess

<IfModule mod_rewrite.c>
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]
</IfModule>

0 个答案:

没有答案