我在php codeigniter中開發了一個項目。該項目幾乎完成,但現在我的經理希望我完全刪除或隱藏URL中的控制器名稱。我現在的URL看起來像這樣:有什麼方法可以刪除或隱藏url中的控制器名稱? codeigniter
和我的經理希望它看起來像這樣:
請注意,我有超過10我的項目中的控制器和許多許多功能。我想要一個適用於所有人的方法。請幫助。
我在php codeigniter中開發了一個項目。該項目幾乎完成,但現在我的經理希望我完全刪除或隱藏URL中的控制器名稱。我現在的URL看起來像這樣:有什麼方法可以刪除或隱藏url中的控制器名稱? codeigniter
和我的經理希望它看起來像這樣:
請注意,我有超過10我的項目中的控制器和許多許多功能。我想要一個適用於所有人的方法。請幫助。
您可以使用$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
你必須指定你的控制器和控制方法的名稱在路由文件中像下面
$路線[「函數名」] =「CONTROLLER_NAME /函數名';
你必須寫這在controller.By每個功能做你會得到兩個好處
1)控制器的名字將被藏在你的網址 2)您可以通過它的名字only.No需要調用一些方法每次使用控制器名稱。
你可以使用url重寫 –
你是否檢查過這個:: http://stackoverflow.com/questions/12863095/how-to-remove-controller-name-from-url-making-it-clean-in-codeigniter ...? –
你可以做到這一點,但在你的情況下,我認爲你不能使用適用於所有人的方法... – Kamae