2009-08-11 11 views
2

"www"の前に強制的に.htaccessルールセットを設定する方法を理解しようとしています最初に指定されていない場合はドメインのドメイン名を使用しますが、同時にサブドメインが有力な場合は効果がありません。これはすべてのドメイン名をハードコーディングせずに、スクリプトをさまざまなサーバーと構成で移植できるようにします。.htaccessドメインにWWWが必要ですが、ハードコードがない場合はサブドメインを許可します

EDIT:

私は、これは右の拳の場所で説明を取得することができませんでしたごめんなさい。次のようにだから私は必要なものである:

http://example.comは - 秒のためにそれを行う必要があります>

答えて

12

にこのmod_rewriteルールをリダイレクトしない - >

http://subdomain.example.comをリダイレクトしない - >http://www.example.com

http://www.example.comにリダイレクト

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

はい、これは部分的に機能しますが、サブドメイン部分はカバーしません。たとえば、あなたがhttp://subdomain.example.comにアクセスすると、http://www.subdomain.example.comにリダイレクトされます。 – titel

+0

私は上に書いた2番目のURLは、http:// www。subdomain.example.com(www)です。 – titel

+0

@titel:あなたが言いたいことがあります。これは、任意の第2レベルのドメインで動作するはずです。 – Gumbo

1
RewriteCond %{HTTP_HOST} ^example\.org 
RewriteRule^http://www.example.org%{REQUEST_URI} [L,R=301] 

これはmail.example.orgのようなサブドメインをリダイレクトしません。

関連する問題