mod の書き換えについて頭を悩ませようとしていますが、これを理解できないようです。
次のことを行う方法はありますか?
ユーザーは次のように入力します。http://wildcard.mydomain.com
サイレントに書き込みます:
http://mydomain.com/index.php?username=wildcard
mod の書き換えについて頭を悩ませようとしていますが、これを理解できないようです。
次のことを行う方法はありますか?
ユーザーは次のように入力します。http://wildcard.mydomain.com
サイレントに書き込みます:
http://mydomain.com/index.php?username=wildcard
でドメインの最初の部分を取得し、RewriteCondこれを で使用する必要がありRewriteRuleます。追加RewriteCondの s は、www.mydomain.com書き換えindex.phpを防止するためにあります
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{REQUEST_URI} !index\.php
RewriteCond %{HTTP_HOST} ^(.+?)\.mydomain\.com$
RewriteRule .* /index.php?username=%1 [L]
しかし、これは必要な機能のごく一部にすぎません。さらに、すべてのusername.mydomain.comドメイン名の DNS エントリをセットアップするか、ホストを指すワイルドカード DNS エントリをセットアップする必要があります。 *.mydomain.com
jcraine.mydomain.comそれ以外の場合、たとえば、クライアントは に接続しようとしますが、DNS エントリが見つからず、不平を言います。
これが仮想ホストServerAliasの場合は、ユーザー名ごとにも追加する必要があります
ServerAlias jcraine.mydomain.com
またはすべてのサブドメインをキャッチするワイルドカード
ServerAlias *.mydomain.com
トリックを行う必要があります。
RewriteCond %{HTTP_HOST} ^(users)\.example\.com$
RewriteRule ^(.*)$ http://www.example.com/?username=%1 [L]