2012-03-16 10 views
8

私のサイトでは、ユーザーがドメインでユーザー名を使用できるようにする機能を追加したいと考えています。codeigniterに動的サブドメインを作成したいですか?

私はcodeigniterに似ていますが、私は自分のURLを使ってサイトにログインして他のものをやってみたいと思っています。例えばのために

私は、ユーザーが自分の資格情報でログインしてカテゴリを追加することができますので、ここでwww.username.mysite.com/loginまたはwww.username.mysite.com/category

をしたいです。だから私はログインとカテゴリの私のサイトに2つのコントローラがあります。

これはルートまたは.htaccessでこれを行う方法です。

+0

可能な重複://stackoverflow.com/questions/586129/create-subdomains-on-the-fly-with-htaccess-php) –

答えて

1

ここにあなたの問題の説明があります。 http://www.joehayes.org/setting-up-wildcard-dns-for-subdomains.html

[OK]をクリックしてリンクの説明を読んだ場合は、すべてのサブドメインをwwwから最初にリダイレクトする必要があることがわかります。 httpd.confファイルには、yourdomain.comのみを含む仮想ホスト定義があり、すべての要求をDocumentRootにリダイレクトします。

**ServerAlias yourdomain.com** 
ServerAdmin [email protected] 
DocumentRoot /home/yourdoma/public_html 
BytesLog domlogs/yourdomain.com-bytes_log 
ServerName www.yourdomain.com 
User yourdomain 
Group yourdomain 
CustomLog /usr/local/apache/domlogs/yourdomain.com combined 
ScriptAlias /cgi-bin/ /home/yourdomain/public_html/cgi-bin/ 

、あなたのドキュメントルートフォルダにすべてのサブドメインを取得するために* .yourdomain.comにServerAliasを変更する必要があります。できる場合は、mod_rewriteまたはurl解析これを成功させるためにあなたのuri。サーバーのバーチャルホストファイル内

+0

申し訳ありませんが、適切な答えは、私が必要なものです。 –

+0

ok、私はちょうどあなたがあなたのホストへのsshアクセス権を持っているか、httpd.confファイルへのアクセス権を持っているのか、あるいはapacheサーバを再起動しているのかを指摘したかっただけです。 –

+0

いいえ、私はアクセスしていません。サーバーと動的サブドメインを作成する接続は何ですか? –

1

使用このコードを:

<VirtualHost *:80> 
    DocumentRoot "/home/yourdoma/public_html/yourdomain" 
    ServerName yourdomain.com 
    ErrorLog "logs/yourdomain.local-error.log" 
    CustomLog "logs/yourdomain.local-access.log" common 
    <Directory "/home/yourdoma/public_html/yourdomain"> 
     AllowOverride All 
     Require all Granted 
    </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "/home/yourdoma/public_html/yourdomain" 
    ServerName dummy-host.yourdomain.com 
    ErrorLog "logs/yourdomain.com-error.log" 
    CustomLog "logs/yourdomain.com-access.log" common 
    ServerAlias *.yourdomain.com 
    <Directory "/home/yourdoma/public_html/yourdomain"> 
     AllowOverride All 
     Require all Granted 
    </Directory> 
</VirtualHost> 

とあなたのCodeIgniterの設定ファイルの場合:[htaccessファイル(PHP)をオンザフライでサブドメインを作成](HTTPの

$host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''; 
$schema = isset($_SERVER['REQUEST_SCHEME']) ? $_SERVER['REQUEST_SCHEME'].'://' : 'http://'; 
$spl_host = explode("mysite.com", $host); 
$subhost = ''; 
if (count($spl_host) == 2) { 
    $subhost = current($spl_host); 
} 

if($host == $subhost.'mysite.com') { 
    $config['base_url'] = $schema.$subhost.'mysite.com'; 
} else { 
    $config['base_url'] = $schema.$host; 
} 
+0

これについてのビデオもチェックしてください。 https://youtu.be/518eRiSOTlY – Iftikhar

関連する問題