Jan 31
ずいぶん前から試そうと思ってたマルチドメインのやりかた
いやぁ、試してはいたんだけど、どうも上手く動かなかったのが、なぜか突然上手く動くようになったんで書いておきます
.htaccess の RewriteCond と RewriteRule を追加するだけ
前にやった時は動いてくれなかったのに、今回は動いてくれました
やりかたは続きに
通常の .htaccess の記述
たとえば、メインのドメインを『example.com』、別のドメインを『example2.jp』として、『example1.jp』用のブログのショートネームを『otherdomain』とした場合、
同じように、
ちなみに次のようにすると、複数ドメイン+サブドメインでアクセスできるはずです
これはあくまでもウチのサーバ(FreeBSD/Apache224)で上手く行った事例なので、もし動かなかったらごめんなさい
いやぁ、試してはいたんだけど、どうも上手く動かなかったのが、なぜか突然上手く動くようになったんで書いておきます
.htaccess の RewriteCond と RewriteRule を追加するだけ
前にやった時は動いてくれなかったのに、今回は動いてくれました
やりかたは続きに
通常の .htaccess の記述
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?virtualpath=$1 [L,QSA]
の、『RewriteEngine on』の次の行にRewriteCond %{HTTP_HOST} 振り分けるドメイン名
RewriteRule (.*) index.php?virtualpath=上のドメイン用に作ったブログのショートネーム/$1 [L,QSA]を追加するだけですたとえば、メインのドメインを『example.com』、別のドメインを『example2.jp』として、『example1.jp』用のブログのショートネームを『otherdomain』とした場合、
RewriteEngine on
RewriteCond %{HTTP_HOST} example2.jp
RewriteRule (.*) index.php?virtualpath=otherdomain/$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?virtualpath=$1 [L,QSA]
とすると、『http://example.com』にアクセスした時はメインブログに、『http://example2.jp』にアクセスした時は、『otherdomain』ブログに振り別けられます同じように、
RewriteCond %{HTTP_HOST} 振り分けるドメイン名
RewriteRule (.*) index.php?virtualpath=上のドメイン用に作ったブログのショートネーム/$1 [L,QSA]の行を追加していく事で、複数のドメインに対応できますちなみに次のようにすると、複数ドメイン+サブドメインでアクセスできるはずです
RewriteEngine on
RewriteCond %{HTTP_HOST} example2.jp
RewriteRule (.*) index.php?virtualpath=example2/$1 [L,QSA]
RewriteCond %{HTTP_HOST} example3.net
RewriteRule (.*) index.php?virtualpath=example3/$1 [L,QSA]
RewriteCond %{HTTP_HOST} "!^main.example.com$"
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+).example.com(.*) /index.php?virtualpath=$1/$2 [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?virtualpath=$1 [L,QSA]
これはあくまでもウチのサーバ(FreeBSD/Apache224)で上手く行った事例なので、もし動かなかったらごめんなさい
4 Responses to “ NP_CustomURL と ModRewrite を使ったマルチドメイン ”
Leave a Reply
OpenID を使ってログインすることができます。
このエントリにトラックバックはありません
この記事のトラックバックURL
http://shizuki.kinezumi.net/item_433.trackback(右クリックで'ショートカットの保存')
トラックバックするにはこの記事へのリンクhttp://shizuki.kinezumi.net/item_433.htmlが必要です

February 2nd, 2007 at 21:56:52 ちょうどいいタイミング・・
今晩うちのサイト(マルチドメイン)にCustomURLを導入するつもりでした。
rewrite設定を参考にさせてもらいます。
February 2nd, 2007 at 23:58:48 なんかCustomURLなサイトが増えてきてて、うれしいやらはずかしいやらで ^^;
ParseURLの部分をモジュール化する方法をずっと考えてるんですがいい方法が思い浮かばず、今以上には対応させるべきプラグインが増えた時の事を考えると…
3.3でスキンタイプが増えたらまた何か考えないとダメですし…
August 1st, 2007 at 22:00:09 同サーバー内のサブドメインを振り分けるにはどうすれば・・・
ブログを新規作成した時点でフリーズしてしまいましたw
August 30th, 2007 at 00:57:42 NP_CustomURL
使わせてもらっています。
ありがとうございます。
サブドメの書き方参考にさせていただきました。
私の環境では上手く動かなく、色々試行錯誤の末
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*).example.net$
RewriteCond %{HTTP_HOST} ([^\.]+).*
RewriteRule (.*) index.php?virtualpath=%1/$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?virtualpath=$1 [L,QSA]
これにて動くようになりました。
http://example.net → メインブログ
http://*.example.net → その他ブログ
バーチャルホストにワイルドカードとDNSのワイルドカードを併用しています。
環境は WebKeepers って言うサービスの VPS です。
では!