web-dev-qa-db-ja.com

他のドメインを停止してWebサイトドメインに301リダイレクトする方法

誰かが自分のウェブサイトドメインを自分のウェブサイトドメインに301リダイレクトしていることがわかりました。

fakedomain.com-> 301リダイレクト-> correctdomain.com

Whoisクエリで見つかった連絡先情報を使用して、fakedomain.comの所有者から301リダイレクトを削除するように指示されましたが、返事はありませんでした...

だから私は自分でこれを解決することを考えています:私のサーバーではnginx Webサーバーを使用しているので、これをブロックまたは防止する方法はありますか?

そして、SEOの観点からそのリダイレクトの結果は何ですか?

注:

ユーザーがブラウザでwww.fakedomain.comと入力すると、相手のドメインDNSサーバーはwww.mydomain.comにリダイレクトし、HTTPヘッダー応答でリファラーセットはありません。 Chromeブラウザーで行われたリクエストからのHTTPヘッダーは次のとおりです。

一般
リクエストURL: http://www.fakedomain.com/
リクエスト方法:GET
ステータスコード:301が完全に移動しました
リモートアドレス:46.101.241.137:80

応答ヘッダー
接続:キープアライブ
コンテンツの長さ:185
Content-Type:text/html
日付:2016年12月28日水曜日00:30:41 GMT
場所: http://www.correctdomain.com/
サーバー:nginx/1.10.2

リクエストヘッダー
Accept:text/html、application/xhtml + xml、application/xml; q = 0.9、image/webp、/; q = 0.8
Accept-Encoding:gzip、deflate、sdch
Accept-Language:it-IT、it; q = 0.8、en-US; q = 0.6、en; q = 0.4
接続:キープアライブ
Host:www.fakedomain.com
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0(Macintosh; Intel Mac OS X 10_12_2)AppleWebKit/537.36(KHTML、Geckoなど)Chrome/55.0.2883.95 Safari/537.36

2
mgambella

要求をリダイレクトして戻すというアイデアは、リダイレクトループを生成する可能性があるため、良くありません。代わりに、ブロックしたいドメインのリファラーを持つ訪問者に対してより良いエラーを返します。

シナリオは次のように機能します。

  • aliendomain.comはサイトにリンクしています。
  • 誰かがあなたのサイトにアクセスしようとしてこのリンクをクリックし、
  • サーバーは、この訪問者がサイトから来ていることを認識しているため、訪問者が
  • そしてエラーで答えます。

次のバリアントが仕事をする必要があります。

location = /index.html {
if ($http_referer ~* (www.)?alienadomain.com) {
return 403;
}
}

これを行うには、おそらくこれが必要になります: http://nginx.org/en/docs/http/ngx_http_referer_module.html このモジュールがデフォルトパッケージの一部であるかどうかはわかりません。

とか、ぐらい:

if ($http_referer ~ "((www.)?alienadomain\.com)") {
set $prohibited "1";
}

if ($prohibited) {
return 403;
}

または、このように map を使用しても

map $http_referer $bad_referer {
default                  0;
"~alienadomain.com"      1;
}

if ($bad_referer) {
return 403;
}

または、複数のキーワードを使用します:

if ($http_referer ~* (aliendomain|another_aliendomain)) {
return 403;
}
1
Evgeniy