1

私はCodeIgniterを使用して最初のWebアプリを構築しています。デモの目的で、ユーザーはFacebookのユーザー名をパラメーターとして使用するだけで(Graph APIの公開データを使用して)サイトをプレビューできます。したがって、彼らは以下を使用してデータにアクセスします。

myurl.com/controller/function/**username**

ただし、将来的には、ユーザーがカスタムドメインを使用して同様のページを表示できるようにしたいと考えています。

私はこのトピックについて読みましたが、彼らは合意された解決策ではないようです。で使用する必要があると言う人もいれば、使用mod_rewrite.htaccess提案する人もいれば、ユーザーをリダイレクトするリクエストvirtual hostsで遊ぶことに言及する人もいます。$_SERVER提案はたくさんあるようですが、決定に役立つ例はそれほど多くありません。

各ドメインを手動で(つまり、.htaccessを手動で編集して)設定できてとてもうれしいですが、それでも単一のCodeIgniterインストールを使用できるようにしたいと思います。

では、複数のURL/カスタムドメインをCodeIgniterURLにポイントするにはどうすればよいですか?また、セキュリティにどのような影響がありますか?

考えられる関連リンク

4

1 に答える 1

0

どのバージョンのCodeIgniterについて話しているのですか?

正直に言うと、私はおそらく仮想ホストのルートをたどります。ワイルドカード仮想ホストを設定して、呼び出されたドメインがサーバーに設定されていない場合、デフォルトでCodeIgniterアプリになるようにすることができます。

クライアントドメインがサーバーを指すようにDNSを設定するだけで、すべてのドメインがCIアプリの1つのインスタンスを取得するため、これは動的になります。ただし、これは安全ではありません。

メインのCodeIgniterアプリが開始される前に、すべてのドメインが送信されるCI関数を用意することをお勧めします。次に、この仲介者はDBテーブルを検索して、呼び出されたドメインが許可されているかどうかを確認します。リダイレクトしない場合は、メインCIアプリをロードします。

これは、ドメインを自動検出できるため、構成ファイルにハードコーディングする必要がないため、CI2.xで適切に機能するはずです。

CI 1.6.xの場合、アプリケーションのURLを構成ファイルにハードコーディングする必要があります。これがご使用のバージョンの場合は、アプリをアップグレードまたは変更する必要があります。

HTH :)

于 2011-10-07T10:53:47.457 に答える