2016-09-21 9 views
5

私はphp codeigniterでプロジェクトを開発しました。プロジェクトはほぼ完了しましたが、私のマネージャーはURLのコントローラー名を完全に削除したり隠したりしたいと思っています。私の現在のURLは次のようになります。URLにコントローラ名を削除する方法はありますか? codeigniter

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

と私のマネージャーが、それは次のようになりたい:私は10以上のものを持っている

http://www.sitename.com/function_name

注意私のプロジェクトのコントローラと多くの多くの機能を備えています。私はすべてに適用される方法が欲しい。助けてください。

+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"; 

を。このように:application/config/routes.php

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

そして、あなたは$route

この$route配列がここに置かれるべきで重複を持つことはできません。

あなたがここにCIマニュアルのルートについての詳細を確認することができます。https://www.codeigniter.com/userguide3/general/routing.htmlあなたはルートが

$ルート下の[「FUNCTION_NAME」] =「コントローラ名のようなファイルにあなたのコントローラとメソッド名を指定する必要が

1

/function_name ';

は、あなたは二つの利点

を得ることcontroller.Byの各機能のためにこれを記述する必要があり あなたはその名前only.No必要性によって、いくつかのメソッドを呼び出すことができます 2)1)コントローラ名はあなたのURLに表示されなくなります

毎回コントローラー名を使用します。

関連する問題