2012-02-09 6 views
0

私はcodeigniterを使って複数のアプリケーションを管理しています。CodeIgniterはURLからアプリケーション名を取得します

CodeIgniterのに応じて、これは、複数のアプリケーションのために働くだろうとは完全に

$application_folder = "applications/foo"; 
$application_folder = "applications/bar"; 

http://codeigniter.com/user_guide/general/managing_apps.html 

作業私は、そのアプリケーションに例えば

をURLからアプリケーション名を設定してやると、ロードしようとしています

http://localhost/mywork/myapp1/ 
http://localhost/mywork/myapp2/welcome 

$application_folder = "applications/".$app_name; 

これは、app1またはURLに書き込むアプリケーション名を読み込みます

ありがとうございました

+0

私は確信が持てませんが、CI内のURLルーティング機能によってこれを行うことはできません。 URLパーツはCIオブジェクト(print_r($ this))で利用可能ですが、そのオブジェクトはおそらくconfiguration.phpで利用できません(または、これはsettings.phpです。私は考えていないアプリケーションのパスを変更することはできません。もっと私はそれについて考えるが、私はそれが働くことができると思うほどだ。設定ファイル内から$ thisのprint_rを試してみてください。 –

+0

OK、見たところ、$ applicationPath変数はindex.php内にあり、フレームワークがロードされる前です。あなたが探しているものは不可能です。各アプリケーションにindex.phpの独自のバージョン(別のものを呼び出す)を与えて、.htaceesでmod_rewriteを使用してアプリケーションを管理するのが最善の方法です。 –

+0

両方のindex.phpファイルを正しいディレクトリに設定しましたか? –

答えて

1

私はこれらの2つのアイデアをテストしていませんが、動作するはずです。あなたのindex.phpファイルを使いこなすよりも優れています。

2つの別々のindex.phpファイル(アプリケーションフォルダごとに1つずつ)を作成できます。 myapp1.phpと他のmyapp2.phpを呼び出してルートディレクトリに置いて、それぞれのアプリケーションフォルダを正しく設定します(configのindex.php var)。

あなたのURLは次のようになります。

http://localhost/mywork/myapp1.php/welcome 
http://localhost/mywork/myapp2.php/welcome 

それとも、あなたは、ルートディレクトリにmyapp1とmyapp2と呼ばれる2つのディレクトリを作成し、それぞれに標準のindex.phpファイルを作成し、正しいアプリケーションにそれらを指すことができこれは相対パスでなければならない場合もあれば、正しいサーバーパスでなければならない場合もあります。

幸運。

+0

どのようにして.phpを削除できますか? via .htaccess – r1400304

+0

あなたの.htaccessファイルがどの.phpファイルにルーティングされるかわからないので、これはうまくいかないので、私が提案した2番目の方法を試してみる必要があります。 –

関連する問題