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

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

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

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

WordPress

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

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

解決済

2回答

2998閲覧

ネットオウルのスターサーバーにあるWordPressをローカルのMAMPにインポートしたら、部分的にしか成功せず、 ところどころリンクの置換えができていない。

qa-second

総合スコア12

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

WordPress

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

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

1クリップ

投稿2019/01/01 08:41

編集2019/01/01 08:50

前提・実現したいこと

ネットオウルのスターサーバーにあるWordPress(自作テーマを有効化中)をローカルのMAMPにインポートしたら、
トップページの投稿のサムネイルや投稿タイトルなどは表示できているのですが、
ウィジェットの画像はリンク切れしていたり、
2ページ目へのボタンや投稿、固定ページをクリックしても全て
「The requested URL /・・・/ was not found on this server.」
となってしまいました。
管理画面からログインしようとしても、パスワードを認識してもらえず
エラーメッセージすら出てこないといった状況です。

これまでの経緯は下記の通りです。

###スターサーバーでの環境

######hogehoge.starfree.jp

  • index.html
  • default_page.png
  • .htaccess
  • wordpress (MAMPのcccフォルダに中身を丸ごとコピー)

######phpMyAdmin
(バージョン情報: 4.4.15.10 / PHP version: 5.4.16)

  • test_wp2

###ローカルの環境

######MAMP
(バージョン4.4.1 (3114))

  • htdocs

    |_ aaa
|_ bbb (ロリポップで作成したマルチサイトを構築済み)
|_ ccc (スターサーバーのwordpressフォルダを丸ごとコピー済み)

######phpMyAdmin
(バージョン情報: 4.7.7 / PHP のバージョン: 7.2.1)

  • aaa (aaa用)
  • wordpress (bbb用)
  • test_wp2 (ccc用 スターサーバーからエクスポートしたtest_wp2.sqlを、インポート済み)

cccフォルダの中のwp-config.phpは以下の通り編集しました。

define('DB_NAME', 'test_wp2'); define('DB_USER', 'root'); define('DB_PASSWORD', 'root'); define('DB_HOST', 'localhost'); define('DB_CHARSET', 'utf8'); define('DB_COLLATE', '');

ローカルのMySQLデータベースのドメイン名は下記の通り置換
(Search-Replace-DB-masterを使用し、エラーメッセージはありませんでした。)

・変更前ドメイン:http://hogehoge.starfree.jp/wordpress/
・変更後ドメイン:http://localhost:8888/ccc/


cccフォルダの中の.htaccessの内容は以下の通りです。

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

しかし何度トライしてもうまくいかなかったので、
ローカルのphpmyadminのtest_wp2データベースにアクセスし、
wp_optionsの表示タブの中のsiteurlとhome
http://localhost:8888/ccc に手動で書き換え、ブラウザで表示してみました。
すると、一見成功したかに見えたのですが、
ウィジェットの画像が表示されなかったり、
2ページ目や投稿、固定ページをクリックしても全て
「The requested URL /・・・/ was not found on this server.」
となってしまいました。

次に挑戦したのは、
######MAMP
のconf > apache > httpd.conf ⇦Override None をOverride Allに置き換え
したのですが、変化はありませんでした。

素人なりに色々調べて試してみたのですが、多分これ以上自分ではどこが間違っているのか
見つけ出せそうにないと思い、投稿させていただきました。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/01/01 11:37

自作テーマを外したり一時的にプラグイン全て止めてもなりますか?
qa-second

2019/01/01 13:13

早々にレスポンスいただきありがとうございます。 ローカルのwordpressの管理画面にアクセスできない状態だったので、 Twenty Seventeenを有効化、プラグイン全て停止したスターサーバーの Worepressとデータベースをもう一度 エクスポート&ローカルにインポートまでのステップをやり直しました。 結果、ローカルのWordPressの管理画面にはログインできるようになりました。 しかし、投稿や固定ページをクリックしたら 「The requested URL /・・・/ was not found on this server.」 となる現象に変わりはありませんでした。
dousojin

2019/01/03 04:07

http://localhost:8888/test_wp2/readme.html にアクセスできますか? ・「The requested URL /・・・/ was not found on this server.」は/test_wp2/・・・/と思いますが、そのパーマリンクは実在していたものですか? ・starfreeでキャッシュ系のプラグイン使っていた場合は停止ではなく削除して、キャッシュディレクトリも削除しておきます。 ・.htaccessを提示されていますがそれが全てですか?
qa-second

2019/01/03 08:10

dousojinさま The requested URL /test_wp2/readme.html was not found on this server.となりました。 多分test_wp2はデータベース名だからではないでしょうか。。。 その代わり、他の方法を試した結果、リンクの置き換えができました! 後ほど解決方法を追って記載いたします。 ここまで何度も相談に乗っていただき、大変嬉しく思います。 おかげさまで、途中で諦めることなく解決できました。ありがとうございました。
dousojin

2019/01/03 08:52

test_wp2がただのデータベース名なら.htaccessの内容の RewriteBase /test_wp2/ の記述も間違ってることになるんですけどね。
qa-second

2019/01/03 13:01

dousojinさま 確かに、改めて.htaccessの中を確認しますと、 RewriteBase /ccc/となっておりました。 ただ、書き換えが本日の16:55に行われており、私はこのファイルに関して何も手をつけていないのに 変更されているということは、管理画面からパーマリンクを変更した時間帯とも重なりますので 何かしら影響があったということなのでは無いでしょうか? (素人の推測で申し訳ありません)今後、RewriteBase /ccc/とすれば悩むことはないのかもしれませんね。 この度は沢山のお知恵を授かり、大変勉強になりました。 重ねて御礼申し上げます。ありがとうございました。
guest

回答2

0

スターサーバーからエクスポートしたtest_wp2.sqlが手元にあると思います。
そのファイルをテキストエディタで開いて、
'hogehoge.starfree.jp/wordpress'の文字列を検索してみましょう。
その数だけ'localhost:8888/test_wp2'に書き換える必要があります。
中には{s:30:"hogehoge.starfree.jp/wordpress"・・・といった部分もあるでしょう。
これ書き換えるには{s:23:"localhost:8888/test_wp2"・・・というように数字の部分も書き換える必要があります。
チマチマやってられないのが実情です。

そこで、インポートしたデータベースの内容を一括で書き換えます。書き換え用のスクリプトがあります。
Database Search and Replace Script in PHP
このスクリプトを利用してデータベースの中を書き換えます。

投稿2019/01/01 13:24

dousojin

総合スコア754

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

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

qa-second

2019/01/02 04:41

dousojinさま ご回答ありがとうございます。 Database Search and Replace Script in PHPは、htdocs > cccフォルダ内に入れて置換するものという理解で間違い無いでしょうか? スターサーバー からtest_wp2.sqlを再度エクスポートし、cccフォルダに入れ、 Database Search and Replace Script in PHPでcccフォルダ内の置換をおこないました。 ({s:30:"hogehoge...という記述はテキストエディタで検索したところ、ヒットしませんでした。) ・変更前ドメイン:hogehoge.starfree.jp/wordpress ・変更後ドメイン:localhost:8888/test_wp2 その後、ローカルのデータベース「test_wp2」の中を空にし、test_wp2.sqlを再インポート しました。 そしてブラウザの表示確認をすると、 「このサイトにアクセスできません localhost で接続が拒否されました。」 となりました。 ちなみにそのtest_wp2 > wp_optionsの表示タブ > siteurlとhomeを http://localhost:8888/ccc に手動で書き換え、ブラウザで表示してみました。 すると、質問を投稿した当時と同じ状況で、リンクをクリックしたら 「The requested URL /・・・/ was not found on this server.」 となりました。
dousojin

2019/01/02 05:12

・Database Search and Replace Script in PHPは、htdocs > cccフォルダ内に入れて置換するものという理解で間違い無いでしょうか? MySQLサーバに接続して置換作業を行いますのでDB接続情報が書かれているwp-config.phpと同じ階層にいれます。 ・スターサーバー からtest_wp2.sqlを再度エクスポートし、cccフォルダに入れ、Database Search and Replace Script in PHPでcccフォルダ内の置換をおこないました。 データベース(MySQLサーバ)内での置換です。.sqlファイル内の文字列を置換するものではありません。.sqlファイルはデータベースの内容をダンプ(dump)したただのテキストファイルです。 ・{s:30:"hogehoge...という記述はテキストエディタで検索したところ、ヒットしませんでした。 s:30の意味がわからない限りヒットしません。30は文字数になります。これは配列やオブジェクトの記法です。 ・「このサイトにアクセスできません localhost で接続が拒否されました。」 localhostのウェブサーバは8888ポートなのに80番ポートに接続しようとして拒否されているものと思われます。
qa-second

2019/01/03 01:09

dousojinさま ・スターサーバー(hogehoge.starfree.jp)の配下にあるwordpressフォルダの中身を、 MAMPのcccフォルダに丸ごとコピー したので wp-config.phpも入っています。 そこで、1回目の置き換えは ・変更前ドメイン:http://hogehoge.starfree.jp/wordpress/ ・変更後ドメイン:http://localhost:8888/ccc/ で、 2回目はアドバイスいただいた通り ・変更前ドメイン:hogehoge.starfree.jp/wordpress ・変更後ドメイン:localhost:8888/test_wp2 としました。 2回ともエラーメッセージはなかったのでlive runをしたのですが、置換がうまくされず 手動でローカルのデータベースtest_wp2 > wp_optionsの表示タブ > siteurlとhomeを入力した、という同じ流れになってしまいました。 ・sqlはやはりcccフォルダに入れる必要はなかったのですね。 ・スターサーバーからエクスポートしたsqlを開くと、{s:30:"hogehoge.starfree.jp/wordpress"・・・はヒットしなかったのですが、 221行目の(111, 'cron', 'a:5:{i:1546404446;a:1:{s:30:"wp_scheduled_auto_draft_delete";a:1: だけ部分的にですがヒットしました。こちらを書き換える必要があるのでしょうか? ・8888ポートなのに80番ポートに接続しようとして拒否されているもの・・・ この問題を解決すればよいようですので、自分でももう少し調査してみます。 知識も理解力もないため要領を得ない返答となってしまい申し訳ありませんが、引き続きアドバイス頂けますと大変有難いです。
dousojin

2019/01/03 04:04

test2_wp.sqlをテキストで開いた時にstarfree.jpの文字列は幾つありましたか? s:30にこだわっておられますが、文字列:30:"hogehoge.starfree.jp/wordpress" 例にだされているhogehoge.starfree.jp/wordpressは30字です。本当のURLを示されていないので文字列の長さも異なります。
guest

0

自己解決

インポート、エクスポート、置換え方法は間違っていませんでした。
当初はローカルのwordpressの管理画面にも入れない状況でしたが、
yoshi0819様のおっしゃる通りプラグインを停止し、公式テーマに戻しエクスポート&インポートしたら、
ローカルのwordpressにログインすることができました。

しかし「The requested URL /・・・/ was not found on this server.」の問題は
解決できないままでしたので、こちらの記事を見つけ試した結果、
ドンピシャでした。

WordPressをローカル(XAMPP)に移行したら個別記事が表示されない時の対策
https://personal-studio9.com/wordpress-xampp-postserror/

こうしたコミュニティサイトやブログを運営してくださっているからこそ、私のような素人が
なんとかここまでたどり着くことができましたこと、大変感謝しております。
本当にありがとうございました。

投稿2019/01/03 08:22

qa-second

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問