我看不出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\-]+
没有。
<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>