1

誰かがこれで私を助けてくれることを願っています。

mod_pagespeed シャーディング用にプライマリ ドメインを指す CNAME がいくつかあります。次のようなサブドメインがない場合は、既にドメインに www を追加しています。

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

次のようにファイルアセットを自動的に分割するように mod_pagespeed をセットアップしました。

ModPagespeedShardDomain example.com static1.example.com,static2.example.com
ModPagespeedMapRewriteDomain example.com www.example.com
ModPagespeedMapOriginDomain localhost example.com

重複コンテンツのペナルティを排除するために、ファイル以外のパスのみのリクエストをプライマリ ドメインに 301 リダイレクトします。

static[1 or 2].example.com/varying/dir/structure -(301)-> 
  www.example.com/varying/dir/structure

ただし、URL に file.ext がある場合は除外する必要があるため、リクエストは書き換えられません。

static[1 or 2].example.com/varying/dir/structure/file.of.any.ext <--ignored

これが十分に説明的であることを願っています。どんな助けも大歓迎です、ありがとう。

4

1 に答える 1

1

次のようなルールを最初のルールとして使用できます。

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+\.[^.]+$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]*)/?$ http://www.example.com/$1 [L,R=301]
于 2014-03-16T22:29:00.787 に答える