LAMPサーバーを使用していますが、次のようなリクエストをリダイレクトする必要があります。
www.www.example.comからwww.example.comおよびその他のバリエーション(wwww.example.comなど)
.htaccessで実行できることは知っていますが、これらすべての可能性を表すために使用する必要がある正規表現がわかりません。
または、vhostsから来る、異なるアプローチがありますか?
LAMPサーバーを使用していますが、次のようなリクエストをリダイレクトする必要があります。
www.www.example.comからwww.example.comおよびその他のバリエーション(wwww.example.comなど)
.htaccessで実行できることは知っていますが、これらすべての可能性を表すために使用する必要がある正規表現がわかりません。
または、vhostsから来る、異なるアプローチがありますか?
好き:
# force www IN URL
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
# END force www IN URL
基本的に、www.example.com以外のものはすべてリダイレクト301されます。
「ワイルドカードサブドメイン」の実装については、この記事を参照してください。.htaccessとVhostsの変更の両方を実装する必要があります。
http://www.easymodrewrite.com/example-subdomains
「www.www」、「wwww。」、および上記の他の例のみに制限することに関心がある場合は、サーバー側のコーディングを使用して簡単に行うことができます(これにより、より多くの.htaccessコードを実装するよりも柔軟になります)。サブドメインが何であるかを検出し、必要な場所にリダイレクトするだけです。
Apacheで名前ベースの仮想ホストを使用すると、次のことができます。
<VirtualHost *:80>
ServerName example.com
ServerAlias wwww.example.com www.www.example.com [space seperated list]
Redirect / http://www.example.com/
</VirtualHost>
リダイレクトは、リダイレクトのタイプを指定するためのパラメーターを取ることができます。