2011-02-18 13 views
0

私はそれが私に動作しますので、私は、自分のドメインでワイルドカードを[OK]を設定していることを考える:リダイレクトなしでワイルドカードを使用してサブドメインを作成することは可能ですか(Rフラグ)?

RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com 
RewriteRule ^(.*)$ http://www.example.com/member.php?username=%1 [R,L] 

しかし、私はRまたはR = 301フラグを使用してリダイレクトする場合にのみ。私は仮想サブドメインを持っていたいと思いますし、ユーザーはそれに気付かないのです。 subdomain.example.comを入力して、バーのURLを変更しないでください。

Iは、次を試してみました:

RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com 
RewriteRule ^(.*)$ http://www.example.com/member.php?username=%1 [L] 

Rフラグなし。しかし、内部サーバーエラーが発生します。何が問題ですか?誰かが私を助けてくれますか?

答えて

1

リダイレクトなしで絶対URLにリダイレクトすることはできません。

documentの「仮想ユーザーホスト」セクションで問題を解決します。

あなたuser.example.comとwww.example.comは、同じマシンに

RewriteCond %{HTTP_HOST} !^www.example.com [NC] 
RewriteCond %{HTTP_HOST} ^([^.]+).example.com 
    RewriteRule ^(.*)$  /member.php?username=%1 [L] 

を指している。しかし、あなたは今、あなたの内部サーバーのRewriteRule

+0

でキャプチャグループをどうするかを計画している場合エラーはなくなった? – Zimbabao

+0

あなたはそうですが、URLの名前も変更され、ユーザーはその変更を見ることができます。私はユーザーのためにもっと簡単なURLをほしい。そのユーザーに変更のnick.example.comがwww.example.com/member.php?username=nickに表示されないようにしてください。 – ccsakuweb

+0

申し訳ありません申し訳ありません書き込み後にコメントを削除しました。以上です。内部サーバーはあなたが間違っています。しかし、私のコードでは、あなたの仕事は変わりますが、URLの変更はありません。 URLの変更をせずにリダイレクトを行う方法を知っていますか? – ccsakuweb

関連する問題