WordPressで.htaccessファイルを上書きしたらブログが消えた。涙の復旧記
毎週500人以上の読者に読まれている当ブログの人気記事「バリ島でSIMカードを買ってネット接続」が、情報が古くなったので本文を書き直して新記事としてアップした。
ブログが消えてしまった
そして検索から来た人のために、旧記事から新記事へ自動的に飛ぶように転送設定をした。リダイレクトというのだね。
転送設定方法はネットで調べた。どうやら「.htaccess」というファイルに転送指示を書き込めばいいらしい。「.htaccess」ってなんだっけ、とよく分からないながら見ようみまねで必要事項を書き込んだファイルを作成した。
そしてファイルをアップロードした。朝食を食べながら横目で。Mac用FTPソフトのCyberduckを使って。
作業は「.htaccess」をドメイン直下のpublic htmlというフォルダにドラッグアンドドロップ。簡単だった。そして自分のブログを確認したらなんと! エラー表示になってしまった。
あっちゃー!
500エラーだって。何だいこりゃ。なぜだか分からないけどブログがまったく映らなくなってしまった。画面内には「次の原因が考えられます。.htaccessの記述に誤りがある」と書いてあった。ぼくもそのとおりだと思う。
ではどうやって復旧したらいいのだろう?
「.htaccess」ファイルを元に戻せばいいのだが、バックアップをとっていないから戻しようがない。ネット検索によれば「.htaccess」は軽々しくいじっては絶対にいけない重要なファイルなのだそうだ。今はわかるよ、それ。
お陰でこの日は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にした。
これで正常に戻るはず。
さっそくブログのトップページを開くと
やったー!
復活した…..。
と喜んだのは早計だった。
カテゴリーの各項目をクリックするとこんどは404エラーになっていた。
「アクセスしようとしたページは見つかりませんでした」と書いてある。
このあとも試行錯誤を続けたが、それらはすべて無駄だった。
トップページはちゃんと表示されるが、リンクはすべて404エラーになる。どうしてかさっぱり分からない。結局、エックスサーバーのサポートに電話+メールで問い合わせ、対策方法をメールで送ってもらった。
WordPressの設定がデフォルトに戻っていた
エックスサーバーからの指示にしたがってWP管理画面を確認したら、パーマリンク(URLの表示形式。当ブログは記事毎に /blog/archives/6268 のように数字が振られている。)が初期設定に戻っていた。
ぼくはパーマリンクを数字に設定しているのだが、違うパーマリンクになっていた。これが原因だったのだね。これを自分で設定したパーマリンク形式に戻した。
すると、何事もなかったかのようにブログは復活した。
素人考えよりもプロに聞くのが速い
じぶんであれこれ試行錯誤することも時には必要だが、プロはあっという間に最適解を導き出す。親切なサポートをしてくれるエックスサーバーさんはありがたい。
サポセンには、バリ島からIP電話の050plusで電話したのだが、よい対応をして下さった。当ブログの置き場所をエックスサーバーにしてよかった。おかげで今日もブログを更新できます。何事もないことがありがたいです!
復帰手順の一覧
記事に書いた復帰手順を分かりやすくリスト化する。
- WordPressをテストでインストールする
- 自動生成された「.htaccess」ファイルをとりだす
- ファイルを「photo-yatra.tokyo→public html→blog」にアップロード
- WordPressの管理画面【ダッシュボード】へログイン
- 「設定 > パーマリンク設定」から、自分で設定した項をあらためて選択して「変更を保存」。
これで完全に復帰する。
リダイレクトはプラグインでする
その後、リダイレクトはプラグインで設定することにした。設定は簡単。元URLと新URLを記述するだけ。リダイレクトがこんな簡単に設定できるとは。プラグイン作成者に感謝するほかない。
ディスカッション
コメント一覧
まだ、コメントがありません