2016-09-21 49 views
5

我在php codeigniter中開發了一個項目。該項目幾乎完成,但現在我的經理希望我完全刪除或隱藏URL中的控制器名稱。我現在的URL看起來像這樣:有什麼方法可以刪除或隱藏url中的控制器名稱? codeigniter

http://www.sitename.com/Controller_Name/function_name

和我的經理希望它看起來像這樣:

http://www.sitename.com/function_name

請注意,我有超過10我的項目中的控制器和許多許多功能。我想要一個適用於所有人的方法。請幫助。

+0

你可以使用url重寫 –

+0

你是否檢查過這個:: http://stackoverflow.com/questions/12863095/how-to-remove-controller-name-from-url-making-it-clean-in-codeigniter ...? –

+0

你可以做到這一點,但在你的情況下,我認爲你不能使用適用於所有人的方法... – Kamae

回答

7

您可以使用$route來做到這一點。

如果只有一個Controller,並在控制器,你所有的functions你可以寫這樣的事情:如果你有需要指定每個function來點什麼控制器許多Controllers

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

。就像這樣:

$route['function1'] = "Controller_Name1/function1"; 
$route['function2'] = "Controller_Name1/function2"; 
$route['function3'] = "Controller_Name3/function3"; 

而且你不能在$route

$route陣列應設在這裏重複:application/config/routes.php

您可以查看更多關於路由CI文檔在這裏:https://www.codeigniter.com/userguide3/general/routing.html

1

你必須指定你的控制器和控制方法的名稱在路由文件中像下面

$路線[「函數名」] =「CONTROLLER_NAME /函數名';

你必須寫這在controller.By每個功能做你會得到兩個好處

1)控制器的名字將被藏在你的網址 2)您可以通過它的名字only.No需要調用一些方法每次使用控制器名稱。

相關問題