2009-07-15 12 views
2

私のサブドメインとURLの最後の変数を新しい場所にリダイレクトするための.htaccessファイルを作成したいと思います。ここで私は何をしたいです:htaccessサブドメイン最後のURLパラメータを使用して

HTTP(S):

http://example.com/?name=abc&type=books://abc.example.com/books

私は私の内部URLは次のようになりたいです

私はすでにサブドメインのリダイレクトを動作させていますが、URLの最後の部分では変数付きサブドメインを実行できません。

どうすればこの問題を解決できますか?

+1

がスラッシュされていない0回以上のすべての文字に一致する」という意味になりますでしょう問題は、以下の答えの1つによって解決され、その答えの横にあるマークをチェックします。これは他の人があなたの問題が修正されたことを知らせ、あなたが答える人に感謝しています。 – random

答えて

4

これは、あなたが欲しいものを行う必要があります。

RewriteCond %{HTTP_HOST} ^(.+).example.com 
RewriteRule ^(.*)% http://example.com/?name=%1&type=$1 [R,L] 

は「%1」は、上記のRewriteCondから最初のキャプチャグループを使用することを意味します。 $1ルール自体の最初のキャプチャグループである

+0

あなたのコメントはGreg ありがとうございますが、 http://abc.example.com/books のように、さらにルールを作成してください。また、両方の変数「abc」と「books」も必要です。私はそれをprofile.phpにリダイレクトしたい。 –

+0

それは "abc"と "books"を行うだろう – Greg

+0

ちょっとグレッグよ、偉大な人。私はずっとこの問題を抱えていました。そう解決された。 はあなたがタイプミスがあります –

2
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com 
RewriteRule ^([^/]*)$ http://example.com/?name=%1&type=$1 [R,L] 
"%1"

手段は、のRewriteCondから第一の捕捉グループを使用します。あなたの例では

%1は、「ABC」と$1は「ブック」

[^/]*は、あなたの場合には、通例だ

+1

を私の問題を解決しますご説明いただきありがとうございます、私は両方の変数に を取得していますありがとうございました。 –