web-dev-qa-db-ja.com

存在しないサブドメインが画像のURLに追加されます

ホームページにいくつかの画像があり、これらの画像のURLが何らかの理由で変更され、サブドメインが自動的に追加されることがあります。

例:www.mysite.com/sites/default/files/image.pngabc.mysite.com/sites/default/files/image.pngになります。

この問題に関係している可能性のある他のいくつかの事実は次のとおりです。

  • このサイトは2つの言語(デフォルト言語である英語とアラビア語)をサポートしており、この問題は英語サイトでのみ発生します。

  • 非常に古いdrupal 6サイトがあり、それ以前はサブドメインを広範囲に使用していました(サブドメインモジュールを使用)。画像のURLに追加されたサブドメインは通常、これらの古いサブドメインの1つとしてランダムに選択されていることに気付きました。 。したがって、これらのドメインは以前から存在していました。しかし、最も奇妙なことは、1年前に実際に完全に新しいサーバーに移動し、Drupal 7。を使用してこの新しいサイトを最初から作成したことです。古いサイトのコンテンツまたはモジュールはすべて使用されなくなり、サブドメインは使用されなくなります。古いサーバーはアクティブではなくなります。また、cPanelのDNSからすべてのサブドメインを削除しました。

  • この問題は、キャッシュをクリアした後に解消される場合があります。

この奇妙な問題の原因は何でしょうか?

1
Ahmed Jabar

これはかなり大きな推測ですが、仮想ホストがプライマリドメインのすべてのサブドメインに応答するようにすべてが構成されていると思います。 Apacheの用語では、これは次のようになります

ServerName mysite.com
ServerAlais *.mysite.com

また、古いサブドメインからクロールされている古いリンクがあり、最終的にはいくつかの不正なURLがキャッシュされています。

私の提案はあなたの.htaccessにこのようなものを追加することです

RewriteCond %{HTTP_Host} !www\.mysite\.com [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,L]

在庫のRewriteEngine onの直後にこれが行われることを確認してくださいDrupalバージョン。ファイル内の2つのルール例は、追加/削除するだけであると想定しているため、機能しないと思います。 wwwそしてサブドメインを考慮に入れないでください(これについて100%確信はありませんが、しばらくの間これらを詳しく調べていません)。Drupalキャッシュもクリアしてください) 。

また、ファイルを変更した後は必ずバックアップしてください。そうすれば、次にコアをアップグレードするときにファイルを追加できます。

2
mpdonadio