ドキュメントルートに変更後.htaccessも変えてもJSONエラー
まいど!ドスブイサポート高橋しゃちょーです。
WordPressをインストールした後にドキュメントルートにした後に
ログインもできてる、カテゴリなどは更新できるんだけど
記事を投稿するとエラーが出て何もできなくなったって困ったことはありませんか?
私も再インストールしたり色々試行錯誤しましたが、
ようやく単純な理由で解決できるということになりました
記事投稿でエラーが出てる内容はこちらになります
こちらが出てる方のお役にたてばと思います。
公開に失敗しました。エラーメッセージ:返答が正しいJSONレスポンスではありません。
まず、ドキュメントルートへの変更した方は
index.phpと.htaccessは既にドキュメントルートに移動していることでしょう。きっとパーミッションも設定も問題ない
そんな時は、まずパーマリンクの設定を見て下さい
基本に戻してみて下さい。
ドキュメントルートにある.htaccessを確認してください
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
# END WordPress
このように空になっていたら問題ないです。
これで記事を投稿してみてください。更新がされる場合の原因ほぼ特定はできます。
では、改めてパーマリンクの設定を「投稿名」もしてみましょう。
ドキュメントルートにある.htaccessの中身はこうなってますか?
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
これに書き換わっていれば問題ないです。
それでも記事を公開しても
エラーメッセージ:返答が正しいJSONレスポンスではありません。
これが出てしまいますか?
その原因はこれです!
httpd.confで.htaccessを使えてない
.htaccessでRewriteEngine Onにしているのに
そもそもapache(httpd.conf)側で許可してない為にJSONエラーが出てます。
.htaccessを利用する為の方法
では、どのように.htaccessのmod_rewriteを使えるようにするかといいますとhttpd.confを書き換えてあげるだけですね!
/etc/httpd/conf/httpd.conf
基本こちが多いんではないかなぁと思いますので自身の環境で変わりますが
そこでこちらを編集してください。
AllowOverride none
↓
AllowOverride All
AllowOverrideをnoneからAllにすることで.htaccessが使えるようになります
4か所くらいあるので全て変更しましょう
これで、ワードプレスに戻って一度、念のためパーマリンクを更新して
いざ、記事を更新してみてください
無事に更新がされましたね。
ドメイン/wp-adminで管理画面にもログインできるか確認してみてくださいね
まとめ
今回はドキュメントルートに変更後、パーマリンク設定でJSONエラーが出て更新ができない事態に陥った際の対策を解説させて頂きました。
そんなに難しいことではないですが、焦らず原因を解明すれば単純にいくこともあるってことですね
再インストールとか頻繁にやるってのも治らんやんけ!って一苦労ですね
以上
最後までご覧いただきまして有難うございました!
- お仕事のご依頼やお問い合わせはフォームやツイッターにてお気軽にお問い合わせ下さい。
- お問い合わせフォーム
- » 高橋しゃちょー (@osaka_dos) | Twitter