【发布时间】:2011-10-09 16:15:53
【问题描述】:
我设计了一个网站,它运行良好,但最近我出于 SEO 目的修改了链接。我刚刚用- 替换了_。现在我收到一条找不到路线的错误。
这是匹配数组
$routes = array(
array('url' => '/^products\/(?P<cat>\w+)$/', 'controller' => 'products', 'view' => 'products_list')
);
链接是这样的
当我删除 - 或将其替换为 _ 时,它可以工作。
【问题讨论】:
-
我打赌
\w不匹配“-”。 -
\w 用于匹配数字、单词字符(字母、数字和下划线)和空格(空格、制表符和换行符)。
-
@JeremySpouken AFAIK,
\w不 匹配空格、制表符或换行符。 -
抱歉生锈了一点,必须与\s匹配才能做到这一点。