mod_rewriteのルールについて質問です。


現在、
RewriteRule ^([0-9A-Za-z]+)/([0-9A-Za-z)]+)\.html$ a.cgi?a=$1&b=$2 [L]
という設定を行っており、http://example.com/$1/$2.html でアクセス出来ております。

RewriteRuleを変更して http://$1.example.com/$2/ でアクセス出来るようにするには、どういう風にすればいいのでしょうか?

非常に近いものが下記にありました。
http://www.kawaz.jp/pukiwiki/?mod_rewrite

user.example.com で example.com/~user/ にアクセスさせる。

RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9_-]+)\.example\.com$
RewriteRule ^/(.*)$ /~%1/$1 [PT]

これを参考に試しましたが分かりませんでした。
宜しくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2007/07/17 20:03:06
  • 終了:2007/07/24 20:05:04

回答(2件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012007/07/17 20:20:30

ポイント35pt

$1 に入る値が x1 あるいは x2 だと仮定しますと

  http://x1.example.com/

  http://x2.example.com/

という2つのサブドメインが実在している必要性があります。

(質問中にお示しのサイトに書かれている方法もサブドメインが実在する場合のものです。RewriteRuleだけでは出来ないのです)


お使いのサーバーにてサブドメインの設定が出来るのかどうかは判りかねますので

(1)サーバー管理者に問い合わせていただくか

(2)レンタルサーバーであればホームページ上のFAQなどを参照していただくか

(3)レンタルサーバー会社名と契約コースを私への返答に含んでいただいて知っている人からの回答を待つか

といった所でしょうか。

id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402007/07/17 21:39:40

ポイント35pt
RewriteRule ^([0-9A-Za-z]+)/([0-9A-Za-z)]+)\.html$ http://$1.example.com/$2/ [L,R]

ルールそのものはこれでいいと思う。


ただ、1番の回答にもあるようにDNSやサーバーの設定はベット必要。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません