0

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

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

URLを検出してコンテンツを提供するために、このようなことを計画しています

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

私が目にするもう1つの問題は、codeigniterのbaseurl設定ですが、ここでその解決策を見ました

/*
|--------------------------------------------------------------------------
| 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/';
}

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

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

4

2 に答える 2

1

おそらく、.htaccess ルールはオプションですか? CIには、URLをきめ細かく制御するためのroutes.phpファイルもありますが、ドメインレベルではないことに注意してください。

于 2010-11-02T11:52:59.723 に答える
0

この方法で問題は発生しません。追加の関数のオーバーヘッドはごくわずかであるため、これによってボトルネックが発生することはありません。

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

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

于 2013-01-16T04:18:22.857 に答える