2016-07-20 11 views
0

ワニスとApacheの後ろにwwwドメインを強制したい。ワトソンの後ろに.htaccessを付けてwwwを強制する

ワニスのRewriteRuleをインストールした後は、

をwww.domain.comのためにdomain.comをリダイレクトされていない私が持っている:

  • のApache 2.4.7
  • ワニス3.0.5
  • 複数の仮想ホストを複数ドメインの場合

私がインストールするまで、私の.htaccess指令はうまくいきました。アーニッシュ。

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301] 

私は既に解決策を見つけようとしましたが、成功しませんでした。他のすべてのコードがコメント化されて

backend default { 
    .host = "127.0.0.1"; 
    .port = "8080"; 
} 

私のVCLでは、私はこれだけを設定しました。

+0

は、あなたのVCLを投稿することができますか? –

+0

投稿にvclを追加しました。基本的に私はバックエンドだけを設定しました。 – ndsh

答えて

0

を使用してルールを更新します。それはハードコードドメインが、動作するはずです:)

根拠は、HTTP_HOSTはポート番号が含まれており、リダイレクトが処理に失敗したということですので、

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^domain\.com 
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L] 

ない理想的それ。

また、VCLでこれを使用してHTTP_HOST変数からストリップポート番号:

sub vcl_recv { 
    # Normalize the header, remove the port 
    set req.http.host = regsub(req.http.host, ":[0-9]+", ""); 
} 
+0

ありがとうございました。残念ながら、上記のどれもうまくいきませんでした。実際には、ドメインのハードコーディングはうまくいくはずですが、そうはしませんでした。 – ndsh

関連する問題