2013-10-18 68 views
1

我使用CakePHP創建網站。 它有用戶註冊和登錄系統。調用其方法時隱藏控制器名稱

因此,在第i個具有controller稱爲HomeController具有三種方法

1)index();

2)login();

3)register();

默認index()方法將被執行。

我有以下代碼來調用其他兩種方法。

<? php 

echo $this->Html->link('Login',array('controller'=>'Home','action'=>'login'),array('escape'=>FALSE)); 

echo $this->Html->link('Register',array('controller'=>'Home','action'=>'register'),array('escape'=>FALSE)); 

?> 

所以,現在當我點擊上述鏈接(loginregister),它會調用適當的方法和url會像

www.example.com/home/loginwww.example.com/home/register

現在我想刪除由於該方法位於同一控制器中,因此該URL的控制器名稱爲

所以url應該像

www.example.com/loginwww.example.com/register

是否有可能? 請幫助..

+0

使用路由HTTP:/ /bakery.cakephp.org/articles/Frank/2009/11/02/cakephp-s-routing-explained –

+0

我會看看.. thanq .. –

回答

5
在應用

\ CONFIG \ routes.php文件添加以下行

Router::connect('/login', array('controller' => 'home', 'action' => 'login')); 
Router::connect('/register', array('controller' => 'home', 'action' => 'register')); 

將默認URL轉換到你想要的網址

www.example.com/login and www.example.com/register 
+0

完美..乾杯.. –

1
Router::parseExtensions('json'); 
Router::connect('/*', array('controller' => 'home', 
           'action' => 'login')); 

Router::connect('/login', array('controller' => 'home', 
            'action' => 'login')); 
+1

也許你可以詳細說明y我們的答案一點,解釋它如何解決問題 - 這將在未來幫助其他人 –