質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

Q&A

解決済

2回答

2863閲覧

サーバーIPアドレスにアクセスすると、移設元ドメインにリダイレクトされてしまう

tomaa

総合スコア84

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

0グッド

1クリップ

投稿2021/04/08 05:55

編集2021/04/08 05:59

前提・実現したいこと

Wordpressのサーバー移転を行っています。

データベースの移設元からのインポート、FTPデータの移設先へのアップロードが完了しております。

ネームサーバー変更前に、表示を確認するために移転先サーバーのIPアドレスを直接URL欄に入力してアクセスしても、移転元のhttpsドメイン(https://sample.com)へリダイレクトしてしまいます。

リダイレクトさせずに、表示を確認するためにはどのように対処すれば良いでしょうか?


移設元、移設先のOS、ミドルウェアは以下のとおりです。

●移設元
・OS:CentOS 7.6
・Apache/2.4.6
・mysql Ver 15.1 Distrib 5.5.60-MariaDB
・PHP 7.1.31
・Wordpress 5.7
・SSL letsencrypt

●移設先
・OS:Ubuntu 20.04 LTS(Focal Fossa) amd64
・Nginx:1.18.0
・mysql Ver 15.1 Distrib 10.3.22-MariaDB
・PHP:7.4.11

該当のソースコード

/etc/nginx/sites-available/wordpress.conf
*/etc/nginx/sites-enabled/にも同じファイルを貼っています。

server { listen 80; listen [::]:80; root /var/www/html; index index.php index.html index.htm; server_name xxx.xxx.xxx.xxx; client_max_body_size 100M; autoindex off; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

/etc/nginx/sites-available/default
*デフォルトのまま(編集無し)

# This file will automatically load configuration files provided by other # applications, such as Drupal or Wordpress. These applications will be made # available underneath a path with that package name, such as /drupal8. # # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. ## # Default server configuration # server { listen 80 default_server; listen [::]:80 default_server; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on ssl_ciphers to ensure a secure configuration. # See: https://bugs.debian.org/765782 # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; root /var/www/html; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name _; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } # pass PHP scripts to FastCGI server # #location ~ .php$ { # include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): # fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /.ht { # deny all; #} } # Virtual Host configuration for example.com # # You can move that to a different file under sites-available/ and symlink that # to sites-enabled/ to enable it. # #server { # listen 80; # listen [::]:80; # # server_name example.com; # # root /var/www/example.com; # index index.html; # # location / { # try_files $uri $uri/ =404; # } #}

/var/www/htmlの権限は、下記のコマンドを実行して変更しています。

$ sudo chown -R www-data:www-data /var/www/html $ sudo chmod -R 755 /var/www/html $ sudo systemctl restart nginx

試したこと

①:hostsファイルの利用

hostsファイルを利用し、ローカルPCで表示の確認を試しましたが同様にリダイレクトされてしまいます。

PCのOSのはMacのため、/etc/hostsのファイルを下記のように編集しました。

 xxx.xxx.xxx.xxx sample.com

②:HSTSのリストからのドメイン削除

以下のサイトを参考に紹介されている方法をためしましたが、リダイレクトされてしまいます。
httpでアクセスしたいのにhttpsへリダイレクトされて悩んだ(HSTSまたはStrict-Transport-Securityの沼)

Chrome

  1. アドレスバーにchrome://net-internals/#hstsを入力
  2. Delete domainに削除したいドメインを入力してDeleteボタン押下

補足情報(FW/ツールのバージョンなど)

ローカル開発環境:macOS Catalina 10.15.7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2021/04/09 04:00

hosts ファイルを編集したPC で、 ping ドメイン名 を実行すると新しいIP アドレスは表示されますか?
tomaa

2021/04/09 04:30

コメントありがとうございます。 はい、移設先サーバーのIPアドレスが表示されます。
guest

回答2

0

移行手順が詳しく書かれていないので想像での回答になりますが、データベースのデータインポート前にもう一手間かける必要があると思います。

参考
https://www.softel.co.jp/blogs/tech/archives/4939

https://wheelchair-coder.com/281/

データベース内の情報のいたるところにURLが埋め込まれているので、sedなどで変換する必要があります。やり方は色々あるので、自分で調べて自分の環境に合わせた方法でやると良いと思います。

たぶんですが、リダイレクト起きてる原因はこれじゃないかと。hostsとかはおそらくいじっても関係ないと思うんですよね。すでに対応済みでしたら別の原因だと思いますので、これはスルーしてください。

投稿2021/04/10 00:38

AbeTakashi

総合スコア4853

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomaa

2021/04/10 00:51

ご回答ありがとうございます。 最初の回答で説明させてもらいましたが、データベース内のデータが関係していました。 参考として教えていただいた方法も役立ちそうです。これから活用させてもらいます。
guest

0

ベストアンサー

リダイレクトさせずに、表示を確認するためにはどのように対処すれば良いでしょうか?

ブラウザで確認をされる場合、ブラウザのキャッシュが影響している場合と macOS 側の DNS キャッシュの影響、いずれか、あるいは両方が考えられます。基本的に /etc/hosts の書き換えで設定は適切に思います。

ただ、ブラウザか、それとも macOS 側か、どちらの影響かを調べるには、ターミナルから curl --head http://IPアドレス を入力されてみてはいかがでしょう。もしかすると、質問に書かれた以外の設定ファイルがあり、どこかに HTTP リダイレクトするような命令が入っていれば、ここで分かります。

他の原因としては、WordPress のサイト設定で、(新サーバ側の WordPress は)https:// を持つホスト名にリダイレクトする設定が入っているのかもしれません。

もしそうであれば、ブラウザのキャッシュを削除した後、macOS を再起動するのが、一番早い確認方法です。再起動できない場合は、OS のバージョンに応じて、DNS キャッシュだけを再起動する方法がいくらかあるようでした。

投稿2021/04/09 22:46

zembutsu

総合スコア1584

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomaa

2021/04/10 00:48

ご回答いただきありがとうございます。 教えていただいた内容試させていただきました。 現在はリダイレクトせずに動作を確認できています。 原因は、移設元のwordpressのサイト設定が関係していました。 「siteurl」と「home」の項目が移設元ドメインのままでした。 phpmyadminで「wp_options」テーブルを選択し、「http://」の設定にするとリダイレクトしないようになりました。
zembutsu

2021/04/10 00:50

解決できてよかったです。このあたり悩ましいですよね。 私も実は、前に同じ事をやらかしていまして、もしやと思い書かせていただきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問