0


1

codeigniterのドメインに基づいて異なるコンテンツを提供する

codeigniterでWebサイトを開発します。 しかし、使用する方法が最善の方法であるかどうかはわかりません。 同じサイトには多くのアドオンドメインがあります。 ただし、サイトへのアクセスに使用されたドメインに基づいてコンテンツがフィルタリングされます。

たとえば、ユーザーがドメイン「siteusa.com」から来た場合、コンテンツは特定のユーザーに応じてフィルタリングされて表示されます。 ユーザーが「siteuk.com/sitechina.com」から来た場合、コンテンツはそれに応じてファイルされます…​

URLを検出してコンテンツを提供するために、このようなことをする予定です

 $ref = getenv("HTTP_REFERER");
    echo $ref;

もう1つの問題は、codeigniterのbaseurl設定ですが、http://www.codr.eu/multi-site-codeigniter-set-up [here]の解決策を見ました

/*
|--------------------------------------------------------------------------
| Base Site URL
|--------------------------------------------------------------------------
|
| URL to your CodeIgniter root. Typically this will be your base URL,
| WITH a trailing slash:
|
| http://www.your-site.com/
|
*/

if(isset($_SERVER['HTTP_HOST']))
{
$config['base_url'] = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ? 'https' : 'http';
$config['base_url'] .= '://'. $_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
}

else
{
$config['base_url'] = 'http://localhost/';
}

これはこれを行うための最良の方法ですか? 入り込む可能性のあるボトルネックはありますか?

サイトのメインドメインはフィルタリングされていないコンテンツを提供し、各アドオンドメインはバックエンドからの各ドメインに設定されたフィルターに従ってコンテンツをフィルタリングします。

2 Answer


1



0


この方法で問題が発生することはありません。 追加機能のオーバーヘッドは無視できるため、これによりボトルネックが発生することはありません。

価値があるのは、複数のWebサイト(数千)が同じコードイグナイターのインストールをポイントしているSaaSサービスに対して同じことをすることです。 問題はありませんでした。

フィルタリングに関しては、HTTP_HOST変数によるクエリが必要になるため、適切なインデックスが設定されていることを確認してください。