2013-10-07 88 views
0

在我的蛋糕應用程序中,我有一個銷售人員推薦計劃。對於每次註冊,用戶都可以傳遞引薦ID。通常情況下,我的網站具有以下操作的缺省路由CakePHP路線索引參數

//www.mydomain.com -> www.mydomain.com/pages/home 
Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home')); 

現在我想路由到這樣的另一個控制器/動作:

//www.mydomain.com/r:1234 -> www.mydomain.com/users/signup/r:1234 
Router::connectNamed(array('r')); 
Router::connect('/*', array('controller' => 'users', 'action' => 'signup')); 
Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home')); 

爲註冊的路由現在工作正常,但默認路線不再起作用。我認爲訂單是好的。有任何想法嗎?

+1

這是什麼意思'不再工作'?當您鍵入www.mydomain.com時,您是否在某處重新定向? – arilia

+0

我會使用查詢字符串參數,這是常態,即http://www.example.com/?aff=foo。你不需要設置自定義路由或者其他,並且可以在AppController :: beforeFilter()中設置一個cookie或者其他的。 –

+0

我想這樣做:www.mydomain.com/users/signup/r:1234,但我知道我必須用控制器來完成,然後才能正常工作。像這樣www.mydomain.com/users/signup/r:1234。我做了一個路線,現在有這個,這對我來說也是可以的:www.mydomain.com/users/r:1234 – FishWave

回答

0

如果我理解您的問題比它應該是這個樣子:

//www.mydomain.com/r:1234 -> www.mydomain.com/users/signup/r:1234 
Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home')); 
Router::connect('/signup', array('controller' => 'users', 'action' => 'signup')); 

試試這一個。

謝謝

+0

請參閱上文:我做了一條路線,現在有了這個,對我來說也是可以的:www.mydomain .com/users/r:1234 現在對我來說沒問題。我想要www.mydomain.com/r:1234,但我認爲這是不可能的... – FishWave