web-dev-qa-db-ja.com

NGINX代わりにIPによるアクセスをホスト名によるアクセスにリダイレクトする方法は?

どういうわけか、GoogleはIPアドレスとドメインで私のサイトにインデックスを付けました。例:180.10.1.1 /index.phpおよびwww.mysite.com/index.php

これらすべてのIPアドレスURLを適切なホスト名URLに301したいのですが、nginx.confでそれを行う方法がわかりません。

ご協力ありがとうございました...

3
Arron

構成ファイルに別のサーバーブロックを追加します

server {
    listen 180.10.1.1:80;
    server_name 180.10.1.1;
    rewrite .* http://www.mysite.com$request_uri permanent;
}
8
SaveTheRbtz

nginxの最新バージョンをお持ちの場合:

server {
  listen 80 default;
  rewrite ^ http://mysite.com$request_uri permanent;
}
2
edogawaconan

上記の2つの答えは私にとっても機能せず、無限のリダイレクトループが発生しました。 server_nameへのIPアドレスの追加は機能しました:

server {
    listen 80;
    server_name mydomain.com www.mydomain.com 67.20x.xxx.xx;
       ...
    }
1
mlinfoot