2013-04-28 15 views
0

在使用site_url('login')的網址爲「abc.com/en/login/create_member」的頁面上生成指向「abc.com/en/login/create_member」的鏈接,但所需的URL是「abc.com/en/login/」在Codeigniter中刪除不需要的網址site_url

我已經包含的鏈接代碼,並從我的routes.php文件文件的摘錄

在此先感謝有這方面的幫助。

代碼:

<a class="link_grad_button" href="<?php site_url('login'); ?>">Login</a></div> 

路線摘錄:

$route[$prepended_lang.'login/(:any)'] = 'login/$1'; 
// URI like '/en/about' -> use controller 'about' 
$route['^(en|br)/(.+)$'] = "$2"; 
$route['default_controller'] = 'landing'; 
// '/en', '/de', '/fr' and '/nl' URIs -> use default controller 
$route['^(en|br)$'] = $route['default_controller']; 
+0

你是否在使用任何多語言庫? – umefarooq 2013-04-28 04:33:46

+1

嘗試從'$ route [$ prepended_lang.'login /(:any)'] ='login/$ 1'中刪除'/ $ 1';'...檢查它是否有效 – MaNKuR 2013-04-28 15:53:46

+0

這樣做,我意識到我只是缺少一個回聲,所以鏈接只是使用當前的URL。 – jsuissa 2013-04-29 00:08:26

回答

2

要麼你的鏈接添加語言如

<a class="link_grad_button" href="<?php site_url('en/login'); ?>">Login</a></div> 

所以,在你的作品route.php您當前的表達。即

$route[$prepended_lang.'login/(:any)'] = 'login/$1'; 

OR

簡單地說,從route.php表達刪除$prepended_lang.,如:

$route['login/(:any)'] = 'login/$1'; 

這上面表達的作品,只有當你有一個像

site_url('login/index') 
函數參數

其中在DEX可以作爲參數(:any),所以如果您的網址是site_url('login')而已,你必須添加:

$route['login'] = 'login'; 

上述表達式之前。

實際上這兩個表達式並不是route.php所必需的,但是由於附加的語言,這兩個表達式似乎是強制性的。