【原因完全解決】WordPressをローカルで動かそうとしたら、動かなくなっていた【備忘録】

WordPress
この記事は約23分で読めます。
スポンサーリンク

WordPressがローカルで動かなくなった時の対処法

何が起こったか?

僕の場合、ローカルのhttps://localhost/へアクセスすると、強制的にこのサイトへリダイレクトされてしまうということが起こりました。

みなさんもこのような現象に襲われたことがあるのではないでしょうか?

原因のひとつはブラウザのキャッシュ

僕の場合、ローカルでのWordpress環境はdockerで行っていました。これが、dockerを停止しているにも関わらずリダイレクトされるという現象の方がいました。

そんな方の解決法がこちら。

ブラウザーがGoogle Chromeの場合

クロームの縦の「・・・」ボタン(設定ボタン)を押します。

「その他のツール」の中の「デベロッパーツール」を開きます。

設定マークを押して、「Preferences」の「Network」の「Disable cache」のチェックボタンを押してリロードします。

これで、解決する方は解決するのではないでしょうか?

データベースを本番環境から移行したまま、内容をローカル用にカスタマイズしていなかった場合

これもわりとやりがちなミスです。

本番環境のデータベースをエクスポートして、ローカル環境にインポートした後、次の処理を忘れずにやりましょう。

この設定はphpMyAdminから行います。

UPDATE `wp_options` SET option_value=REPLACE (option_value,'moyashihome.com','localhost/moyashihome');
UPDATE `wp_posts` SET guid=REPLACE (guid,'moyashihome.com','localhost/moyashihome');
UPDATE `wp_posts` SET post_content=REPLACE (post_content,'moyashihome.com','localhost/moyashihome');
UPDATE `wp_postmeta` SET meta_value=REPLACE (meta_value,'moyashihome.com','localhost/moyashihome'); 

これは一例ですが、このようにして、ローカルへの反映を行ってください。

それでも直らないとき。

僕の場合がこれでした。沼にハマりました。

解決できてほんとよかったと思います。

docker内部の.htaccessがおかしい

まずは、立ち上げた、dockerのPHPコンテナの中に入ります。

コンテナの確認を行います。

PS C:\Users\rabit\docker_local> docker ps
CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS          PORTS                                      NAMES
bf8291549102   docker_local_php        "docker-php-entrypoi…"   13 minutes ago   Up 13 minutes   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   php74_ssl
056d885d5037   phpmyadmin/phpmyadmin   "/docker-entrypoint.…"   19 hours ago     Up 46 minutes   0.0.0.0:4040->80/tcp                       phpmyadmin
65fd6f4a03d2   mysql:5.7               "docker-entrypoint.s…"   19 hours ago     Up 46 minutes   0.0.0.0:3306->3306/tcp, 33060/tcp          mysql57
PS C:\Users\rabit\docker_local>

これで、PHPコンテナの名前が「php74_ssl」であることが確認できます。確認したら、あとはコンテナの中に入るだけです。

PS C:\Users\rabit\docker_local> docker exec -it php74_ssl bash

次に、僕の場合そうだったのですが、VIエディタが入っていなかったので、インストールすることにしました。

インストールは、コンテナの中に入ってからでないと行うことはできませんのでご注意を。

root@bf8291549102:/var/www/html# apt-get update
Get:1 http://security.debian.org/debian-security bullseye-security InRelease [44.1 kB]
Get:2 http://deb.debian.org/debian bullseye InRelease [116 kB]
Get:3 http://deb.debian.org/debian bullseye-updates InRelease [39.4 kB]
Get:4 http://security.debian.org/debian-security bullseye-security/main amd64 Packages [153 kB]
Get:5 http://deb.debian.org/debian bullseye/main amd64 Packages [8182 kB]
Get:6 http://deb.debian.org/debian bullseye-updates/main amd64 Packages [2592 B]
Fetched 8537 kB in 4s (2374 kB/s)
Reading package lists... Done

apt-get updateコマンドを打って、最新の状態に保ちます。次にVIM(VIエディタ)のインストールです。apt-get install vimコマンドを使います。

root@bf8291549102:/var/www/html# apt-get install vim
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libgpm2 vim-common vim-runtime xxd
Suggested packages:
  gpm ctags vim-doc vim-scripts
The following NEW packages will be installed:
  libgpm2 vim vim-common vim-runtime xxd
0 upgraded, 5 newly installed, 0 to remove and 10 not upgraded.
Need to get 8174 kB of archives.
After this operation, 36.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian bullseye/main amd64 xxd amd64 2:8.2.2434-3+deb11u1 [192 kB]
Get:2 http://deb.debian.org/debian bullseye/main amd64 vim-common all 2:8.2.2434-3+deb11u1 [226 kB]
Get:3 http://deb.debian.org/debian bullseye/main amd64 libgpm2 amd64 1.20.7-8 [35.6 kB]
Get:4 http://deb.debian.org/debian bullseye/main amd64 vim-runtime all 2:8.2.2434-3+deb11u1 [6226 kB]
Get:5 http://deb.debian.org/debian bullseye/main amd64 vim amd64 2:8.2.2434-3+deb11u1 [1494 kB]
Fetched 8174 kB in 4s (2205 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package xxd.
(Reading database ... 14106 files and directories currently installed.)
Preparing to unpack .../xxd_2%3a8.2.2434-3+deb11u1_amd64.deb ...
Unpacking xxd (2:8.2.2434-3+deb11u1) ...
Selecting previously unselected package vim-common.
Preparing to unpack .../vim-common_2%3a8.2.2434-3+deb11u1_all.deb ...
Unpacking vim-common (2:8.2.2434-3+deb11u1) ...
Selecting previously unselected package libgpm2:amd64.
Preparing to unpack .../libgpm2_1.20.7-8_amd64.deb ...
Unpacking libgpm2:amd64 (1.20.7-8) ...
Selecting previously unselected package vim-runtime.
Preparing to unpack .../vim-runtime_2%3a8.2.2434-3+deb11u1_all.deb ...
Adding 'diversion of /usr/share/vim/vim82/doc/help.txt to /usr/share/vim/vim82/doc/help.txt.vim-tiny by vim-runtime'
Adding 'diversion of /usr/share/vim/vim82/doc/tags to /usr/share/vim/vim82/doc/tags.vim-tiny by vim-runtime'
Unpacking vim-runtime (2:8.2.2434-3+deb11u1) ...
Selecting previously unselected package vim.
Preparing to unpack .../vim_2%3a8.2.2434-3+deb11u1_amd64.deb ...
Unpacking vim (2:8.2.2434-3+deb11u1) ...
Setting up libgpm2:amd64 (1.20.7-8) ...
Setting up xxd (2:8.2.2434-3+deb11u1) ...
Setting up vim-common (2:8.2.2434-3+deb11u1) ...
Setting up vim-runtime (2:8.2.2434-3+deb11u1) ...
Setting up vim (2:8.2.2434-3+deb11u1) ...
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vim (vim) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vimdiff (vimdiff) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rvim (rvim) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rview (rview) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vi (vi) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/da/man1/vi.1.gz because associated file /usr/share/man/da/man1/vim.1.gz (of link group vi) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/de/man1/vi.1.gz because associated file /usr/share/man/de/man1/vim.1.gz (of link group vi) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/fr/man1/vi.1.gz because associated file /usr/share/man/fr/man1/vim.1.gz (of link group vi) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/it/man1/vi.1.gz because associated file /usr/share/man/it/man1/vim.1.gz (of link group vi) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/ja/man1/vi.1.gz because associated file /usr/share/man/ja/man1/vim.1.gz (of link group vi) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/pl/man1/vi.1.gz because associated file /usr/share/man/pl/man1/vim.1.gz (of link group vi) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/ru/man1/vi.1.gz because associated file /usr/share/man/ru/man1/vim.1.gz (of link group vi) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/vi.1.gz because associated file /usr/share/man/man1/vim.1.gz (of link group vi) doesn't exist
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/view (view) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/da/man1/view.1.gz because associated file /usr/share/man/da/man1/vim.1.gz (of link group view) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/de/man1/view.1.gz because associated file /usr/share/man/de/man1/vim.1.gz (of link group view) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/fr/man1/view.1.gz because associated file /usr/share/man/fr/man1/vim.1.gz (of link group view) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/it/man1/view.1.gz because associated file /usr/share/man/it/man1/vim.1.gz (of link group view) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/ja/man1/view.1.gz because associated file /usr/share/man/ja/man1/vim.1.gz (of link group view) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/pl/man1/view.1.gz because associated file /usr/share/man/pl/man1/vim.1.gz (of link group view) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/ru/man1/view.1.gz because associated file /usr/share/man/ru/man1/vim.1.gz (of link group view) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/view.1.gz because associated file /usr/share/man/man1/vim.1.gz (of link group view) doesn't exist
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/da/man1/ex.1.gz because associated file /usr/share/man/da/man1/vim.1.gz (of link group ex) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/de/man1/ex.1.gz because associated file /usr/share/man/de/man1/vim.1.gz (of link group ex) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/fr/man1/ex.1.gz because associated file /usr/share/man/fr/man1/vim.1.gz (of link group ex) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/it/man1/ex.1.gz because associated file /usr/share/man/it/man1/vim.1.gz (of link group ex) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/ja/man1/ex.1.gz because associated file /usr/share/man/ja/man1/vim.1.gz (of link group ex) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/pl/man1/ex.1.gz because associated file /usr/share/man/pl/man1/vim.1.gz (of link group ex) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/ru/man1/ex.1.gz because associated file /usr/share/man/ru/man1/vim.1.gz (of link group ex) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/ex.1.gz because associated file /usr/share/man/man1/vim.1.gz (of link group ex) doesn't exist
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/da/man1/editor.1.gz because associated file /usr/share/man/da/man1/vim.1.gz (of link group editor) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/de/man1/editor.1.gz because associated file /usr/share/man/de/man1/vim.1.gz (of link group editor) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/fr/man1/editor.1.gz because associated file /usr/share/man/fr/man1/vim.1.gz (of link group editor) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/it/man1/editor.1.gz because associated file /usr/share/man/it/man1/vim.1.gz (of link group editor) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/ja/man1/editor.1.gz because associated file /usr/share/man/ja/man1/vim.1.gz (of link group editor) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/pl/man1/editor.1.gz because associated file /usr/share/man/pl/man1/vim.1.gz (of link group editor) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/ru/man1/editor.1.gz because associated file /usr/share/man/ru/man1/vim.1.gz (of link group editor) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/editor.1.gz because associated file /usr/share/man/man1/vim.1.gz (of link group editor) doesn't exist
Processing triggers for mailcap (3.69) ...
Processing triggers for libc-bin (2.31-13+deb11u3) ...

途中で、英語で続けていいですか?のようなことを聞かれるので、「Yまたはy」を押します。

インストールが完了したら、.htaccessの編集です。その前に、catで中身を見てみましょう。

root@bf8291549102:/var/www/html# cat .htaccess

#####wpcomment_nojpdeny#####
SetEnvIf Request_URI ".*" WpCommentDeny
#####end:wpcomment_nojpdeny#####














#####redirect#####
Redirect permanent / https://shirakawaroom.com/
#Redirect permanent /moyasea/ https://shirakawaroom.com/
#####end:redirect#####

むごいですね、本番環境へリダイレクトという内容のことが書かれていました。これでは、リダイレクトされて当然です。

このとき気付いたのが、dockerで作った環境の.htaccessは、docker内でしか反映されてないんだなということでした。フォルダ内の.htaccessをいじりながら悩んでいたのですが、無意味だったようですね。

ここらへん、dockerの仕様をまだまだ理解していないということでしょうか。

勘違いをしていました。いじっていたのはdockerの中と思っていたのですが、いつもいじっているローカルフォルダのひとつ上のフォルダをいじっていただけでした。

恥ずかしい!勘違いしていました。なので、以下のVIエディタを使わずとも、ローカルフォルダから、Terapadなどを使って編集することも可能です。

というわけで、まあ、VIエディタを使いましょうということで、さっそくVIエディタを使って直していきます。VIエディタは「編集モード」と「書き込みモード」の2つが用意されていて、起動時には「編集モード」になっています。

とりあえずは、「a」を押すことで「書き込みモード」に入れるので、「a」を押しましょう。

ひととおり編集が終わったら、「書き込みモード」を脱出するため「ESC」キーを押します。

保存は、「編集モード」で、「:wq」と押すことでできます。

どうですか?ちゃんとできたでしょうか?

またcatで見てみましょう。

root@bf8291549102:/var/www/html# cat .htaccess

#####wpcomment_nojpdeny#####
SetEnvIf Request_URI ".*" WpCommentDeny
#####end:wpcomment_nojpdeny#####

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]
</IfModule>

この.htaccessの設定を真似ていただいても構いません。ほとんど問題なく動くのではないでしょうか?

これでまるっとお悩み解決!できてたらいいなぁ・・・

というところで、トラブル発生致しました。

pluginの問題でした。

pluginの問題

pluginが問題のとき、そのときは、pluguinフォルダの名前をリネームしましょう。

例えば、「00plugin」のようにです。

こうしたあと、プラグインを見に行って、プラグインがオフになっていることを確認したら、また名前を「plugin」に戻します。

悪さをしているプラグインがあるかも知れませんので、慎重に1つずつ戻していきます。恐らくは、セキュリティー関係のプラグインが悪さをしていると思います。

僕の場合はそうでした。

これでまるっと解決!

白川秋
白川秋

最後までお読みいただき有り難うございました。

コメント

タイトルとURLをコピーしました