2010-07-30 74 views
0

我已經開始使用cakePHP並且在使用路由時遇到了一些問題。我正在嘗試爲產品製作某種產品目錄(電子商店沒有購物:)),並且喜歡擁有類似「http://site.net/main_category/subcategory/subsubcategory-c154.htm」的網址,其中-c表示類別,154表示指定類別的Id。我喜歡將這種類型的URL傳遞給一個控制器,例如CategoriesController,但是路由:CakePHP在參數中使用正斜槓的路由

Router::connect('/:categoryUrl', 
       array(
        'controller' => 'categories', 
        'action'=> 'display' 
       ), 
       array(
        ':categoryUrl' => '(.*)-c([0-9]+).htm' 
       ) 
      ); 

不起作用。它繼續搜索「main_category」控制器,因爲main_category在第一個斜槓後面。

你們(女士們,當然;))有一些想法?

感謝的很多 kraklin

回答

0

你可能需要逃避連字符。它被列爲由preg_quote()逃過的其中一個字符。你絕對需要逃避這一點。

'(.*)\-c([0-9]+)\.htm'