我看不出 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>