2011-01-20 5 views
1

"mysite.com/directory"のような私のビジネスディレクトリページのURLを持つことができるように私のコントローラーは "ディレクトリ"という名前にする必要があります。 しかし問題は "ディレクトリ"はあらかじめ定義されたphpクラスなので、私は再び宣言できません。これは、エラーになりますcodeigniterの "directory"というコントローラーが必要

Fatal error: Cannot redeclare class Directory in C:\wamp\www\Logistica\system\application\controllers\directory.php on line 8

私は何か他のものへの私のクラスとコントローラの名前を変更し、まだURLに「ディレクトリ」を持つことができる方法はありますか?あなたはURLを変更するための.htaccessを使用することができます

$route['directory'] = "DirectoryImplementationClass";

答えて

6

はあなたのようなルートをお勧めしますあなたのケースではCodeIgniter routing

を見てみましょう。あなたの名前を意味 は、あなたがURLに名前を変更するために書き換えルールを使用することができ、ディレクトリ 以外の何かである

参照:私のルートクラスはすでに修正少しあるので、私はすでにCIのURL識別子を使用しています htaccess in codeigniter

+0

。私のURLは "mysite.com/en/directory"です。私のルートコードは以下の通りです: $ route ['default_controller'] = "home"; $ route ['(\ w {2})/(。*)'] = '$ 2'; $ route ['(\ w {2})'] = $ルート['default_controller']; $ route ['\ w {2}/directory'] = "Dirclass"; しかし、上記はまだ私のためのURLに一致していません。それは私に404エラーを与えています。 – Cruising2hell

+0

私はCIを使ってからしばらくしていましたが、正しく覚えていればルールの順序が重要です。最初の一致するルートが実行されますが、最も具体的なルートは実行されません。 $ route ['\ w {2}/directory'] = "Dirclass"の前に$ route ['(\ w {2})/(。*)'] = '$ 2'あなたのroute.phpファイルでは、directory.phpクラスを探していて、2番目のルートは決して実行されません。 – Dolbz

1

+2

正しい方法はroute.phpに適切なルートを設定することです –

関連する問題