WordPressで.htaccessファイルを上書きしたらブログが消えた。涙の復旧記

ブログ運営

毎週500人以上の読者に読まれている当ブログの人気記事「バリ島でSIMを買ってネット接続」が、通信環境の変化が早く情報が古くなったため、本文を書き直して新記事としてアップした。

ブログが消えてしまった

そして検索から来た人のために、旧記事から新記事へ自動的に飛ぶように転送設定をすることにした。リダイレクトというのだね。

転送設定方法をネットで検索したら「.htaccess」というファイルに転送指示を書き込めばいいらしい。「.htaccess」ってなんだっけ、と思いながらも見ようみまねで必要時効を書き込んだファイルを作成した。

そしてアップロードした。朝食を食べながら横目で。Mac用FTPソフトのCyberduckを使って。

スクリーンショット 2015 11 25 14 19 27

作業は「.htaccess」をドメイン直下のpublic htmlというフォルダにドラッグアンドドロップ。簡単だった。

それから自分のブログを確認したらなんと!
エラー表示になってしまった。

1

あっちゃー!
500エラーだって。何だいこりゃ。何だか知らないけどブログが写らなくなってしまった。画面内には「次の原因が考えられます。.htaccessの記述に誤りがある」と書いてあり、ぼくもそのとおりだと思う。

ではどうやって復旧したらいいのだろう?

「.htaccess」ファイルを元に戻せばいいのだが、バックアップをとっていないから戻しようがない。ネット検索によれば「.htaccess」は軽々しくいじっては絶対にいけない重要なファイルなのだそうだ。今はわかるよ、それ。

23日はほぼ1日中、当ブログは500エラーのみが表示されていた。多くの読者に失望されたことと思う。申し訳ないです。

.htaccessを修正して再アップロード

解決方法をネットで検索すると、同じような状態から復旧された方がいる。なんと当ブログのテーマSimplicityを配布しているわいひらさんだった。何でも、テレビを見ながら作業をしてファイルをうっかり上書きしてしまったそうだ。わいひらさんでもこんなことがあるのね。

彼がとった解決方法をそのままやってみたが、500エラーは相変わらず。わいひらさんとぼくとでは何かが違うようだ。何が違うのだろう?

しかしここからヒントを得て、Wordpressインストール時のフォルダがHDD内にあることを思い出した。そこにある新しく自動生成されたばかりの「.htaccess」を開いて修正をしたのがこれ。

suPHP_ConfigPath /home/あなたのID名/あなたのドメイン名/xserver_php/
AddHandler x-httpd-php5.3 .php .phps
xserver_php/php.ini\" .phps
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

1行目のID名・ドメイン名は、自分のブログのIDとドメインを記す。
2行目のPHPのバージョンは、現在ワードプレスが推奨している5.3だったのでそれを書いた。

BEGINとENDは、これによってWordPressが表示されるのだからなくてはならないコードだ。その重要性が分からずに勝手に書き換えてしまったのだなあ。

テキストエディタに上記コードをコピペして、ファイル名をa.htaccess.txtにして保存。
それをFTPソフトで「photo-yatra.tokyo→public html→blog」にアップロードした。アップロード完了後に右クリックで名称変更を選び、aと.txtを削除してファイル名を.htaccessにした。

これで正常に戻るはず。
さっそくブログのトップページを開くと

4

やったー!
復活した…..。

と喜んだのは早計だった。
カテゴリーの各項目をクリックするとこんどは404エラーになっていた。

2

「アクセスしようとしたページは見つかりませんでした」と書いてある。

このあとも試行錯誤を続けたが、それらはすべて無駄だった。
トップページはちゃんと表示されるが、リンクはすべて404エラーになる。どうしてかさっぱり分からない。結局、エックスサーバーのサポートに電話+メールで問い合わせ、対策方法をメールで送ってもらった。

WordPressの設定がデフォルトに戻っていた

ここまで、ぼくがとった対策は正解だった。

それから、エックスサーバーからの指示にしたがってWP管理画面をみたら、パーマリンク(URLの表示形式。当ブログは記事毎に /blog/archives/6268 のように数字が振られている。)が初期設定に戻っていた。

ぼくはパーマリンクを数字にしているのに、知らない間になぜか違うパーマリンクに戻っていた。これが原因だったのだね。これを、アドバイスのとおりに自分で設定した項に戻した。

すると、何事もなかったかのようにブログは復活した。

素人考えよりもプロに聞くのが速い

じぶんであれこれ試行錯誤することも時には必要だが、ぼくの場合は「下手な考え休むに似たり」でしかなかった。自分ひとりで迷っているよりもよくわかる人に聞いた方が1000倍以上速い。プロはあっという間に最適解を導き出す。

そして、親切なサポートをしてくれるエックスサーバーさんもありがたい。

サポセンには、バリ島からIP電話の050plusで電話したのだが、よい対応をして下さった。当ブログの置き場所をエックスサーバーにしてよかった。おかげで今日もブログを更新できます。何事もないことがありがたいです!

復帰手順の一覧

最後に、これまで記事に書いた復帰手順を、書き出してリスト化する。

  1. WordPressをテストでインストールする
  2. 自動生成された「.htaccess」ファイルをとりだす
  3. ファイルを「photo-yatra.tokyo→public html→blog」にアップロード
  4. WordPressの管理画面【ダッシュボード】へログイン
  5. 「設定 > パーマリンク設定」から、自分で設定した項をあらためて選択して「変更を保存」。

これで完全に復帰する。

リダイレクトはプラグインで

その後、リダイレクトはプラグインで設定することにした。設定は簡単。元URLと新URLを記述するだけ。リダイレクトがこんな簡単に設定できるとは。制作者に感謝するほかない。