2011-03-11 8 views
1

RE WWWを強制的に:.htaccess - how to force "www." in a generic way?htaccessを:どのように一般的な方法で

を私は前にこの質問をして、この答えを得た:

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

それは動作しますが、今私は、応答で301 Moved Permanentlyを見ていますヘッダー。私は301を取り除きたい。問題は2回目の書き換え条件ですか?それは "www。で始まらない"のようなものでなければならない。その後にホスト名 "?

ところで、私はこのソリューションをどのサーバーでも動作させたいと思っています(つまり、ドメイン名をハードコードしたくないという意味です)。

提案?

UPDATE:

私は上記が正しく動作していないことに気づきました。私は以下の持っている場合:私は、この影響を与えるサブドメインをしたくない

http://www.images.domain.com

http://images.domain.com

は、私はそれがに変更したくありません。私はそれが失われたwwwに影響を与えたいだけです。

+0

解決策をすべてのサーバー上で動作させるようにすると、既にそれを行う必要があります。 –

+0

@Pekka、これはそうです。私はちょうどここに専門家に言いたかったので、彼らは私のドメイン名をハードコーディングするという答えを私に提供しないようにしました。 – StackOverflowNewbie

+0

@Stackまあ、あなたがしたいことはできないと思います。 301はなぜ問題なのですか? –

答えて

2

ヘッダーがリダイレクトされていないと、別のドメインにリダイレクトすることは定義できません。ユーザーのブラウザのURLを変更する場合は、新しい要求を強制する必要があります。その周りに方法はありません。

to take your pick - 301302303のステータスコードが最も単純な選択肢です。

+0

私は質問を更なる問題で更新しました。あなたは助けることができますか?私は今失われている。 – StackOverflowNewbie

+0

@StackOverflow追加の 'RewriteCond%{HTTP_HOST}^example.com $ 'はそれを修正しますが、特定のドメインにバインドします。 '画像。*'を除外する方法に関しては、おそらく他の質問でGumboに聞いてみてください。彼はこのことについてもっと知っています。 –

+0

あなたは私がどのようにルールを作ることができるか知っていますか? HTTP HOST "?私が書き直したいと思う唯一の時間です。 – StackOverflowNewbie

関連する問題