2012-05-04 14 views
2

私は現在mod_rewriteとhtaccessでURLをリダイレクトするサブドメイン?

domain.com/folder/user

にdomain.com/folder.php?username=user

をリダイレクトモッズ書き換えを持っています

使用:

のRewriteRule ^フォルダ/(.+)$ユーザ名= $ 1?folder.php私はしかし行って必要なもの[QSA、L]

http://www.domain.com/folder.php?username=userhttp://user.domain.com/をリダイレクトしています。可能であれば、特定のサブドメイン(www。mailなどが転送されないようにする)を除外することができます。

どうすればよいですか?すべてのヘルプは大歓迎です:)どのように動作する

+0

仮想サーバーはホスト上でどのように構成されていますか? – hakre

+0

私が正しく理解しているかどうかわかりませんが、Apacheを使用しており、httpd.confに設定されています。 – user1227914

+0

以下の回答は、すべてのドメインが同じエリアを指している限り、その管理方法を示しています。 – hakre

答えて

1

  • http://user.domain.com/からuserを抽出し、​​でそれに後方参照を保存します。
  • 要求のホスト名は、サーバー変数に格納されます。

    enter image description here 図:ルールのバックリファレンスフロー。 この例では、/test/1234の要求は/admin.foo?page=test&id=1234&host=admin.example.comに変換されます。 RewriteRuleSource

  • RewriteConditionの後方参照を使用します。

  • 参照がRewriteRuleセクションでもノート:

    あなたは、ホスト名、ポート、またはクエリ文字列にマッチ%{HTTP_HOST}、%{SERVER_PORT}とのRewriteCondを使用したい場合、または% {QUERY_STRING}個の変数があります。

  • 書き換えを行うことができるサーバーの同じセクション/ルートにすべての要求が確実に渡されるように、すべてのドメインをリッスンするように(仮想)サーバーを構成します。それ以外の場合は、内部的にプロキシする必要があります。
関連する問題