2011-10-27 8 views
0

私は異なるURLを持っていますが、全く同じコードシステムシステムとアプリケーションフォルダを使用しています(実際に私が居住のために迷惑メールだと思う前に、データベースを介してコンテンツを区別したり、vhosts/httpdocsフォルダ内のアセットフォルダを分離したりすることができます。CodeIgniterのbase_urlをオーバーロードする

各ドメインのhttpdocsフォルダの上のvhostsディレクトリにCI_2.0.3のシステムフォルダとアプリケーションフォルダを配置しましたそれぞれがCI Welcome画面を表示する2つのテストサイトから正常にヒットできます。

ただし、私はベースURLが心配です。 1つがwww.campuslodge.comで、もう1つがcampuscreek.comの場合、どのように1つのconfig/config.phpファイルでそれを処理できますか?私は54のドメインのhttpdocsフォルダのそれぞれに存在するindex.phpファイルを介してアプリケーションにプロパティ番号を渡すことができるので、base_url用にグローバルを宣言して、config/config.phpに空白を残すこともできますか?または私は別の何かをする必要がありますか?

結論私は54回ではなく1回グローバルな変更を行うことができるように、システムとアプリケーションの両方の単一のCIインストールを指すには54の固有のドメインが必要です。

答えて

0

あなたの質問に答えました。 、各index.phpの中で定数を定義すると言う:

define('_MY_BASE_URL', 'http://yourdoamin.com'); 

とconfig.phpの中には、実行します。

$config['base_url'] = _MY_BASE_URL; 
+0

は私がそのことを考えていなかったので、それは+1、素敵な – jgravois

+0

を働いた:) –

2

あなたの設定ファイルでは、あなたは空の文字列とCodeIgniterのに$config['base_url']セットを残すことができます正しいプロトコルとドメインが何であるかを推測します。クライアントがhttp://www.example.com/controller/method/arg.htmlであなたのサイトにアクセスするのであれば、その後、base_url()はあなたが$_SERVER['SERVER_NAME']に設定することができ、そうでない場合http://www.example.com/

を返し、それは、ドメインは、そのクライアントがアクセスしたものにセットされます。

// in application/config.php 
$config['base_url'] = 'http://' . $_SERVER['SERVER_NAME']; 
+0

をしたうれしい完璧 –

+0

私はあなたの答えが正しいものであるべきだと思うが、私の状況では、以下の答えは良い作品。また、すべてのプロパティにdevサイトが格納されているサブフォルダがある開発サイトもあります。あなたのソリューションはそれらのためには機能しませんでした。しかし、偉大な答えのために、私は+1を与える。 – jgravois

+1

coolそれはスタックのオーバーフローに関して素晴らしいことです。様々な選択肢、様々な意見、様々な解決策。 – swatkins

関連する問題