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]