wordpressを始めて、投稿をしようとしたときに詰まったこととその解決策
状況
サーバーはAWSで構築。
wordpressをインストールして、諸々最初の設定を変更した後、投稿を試してみた。
起きた事象
- 投稿 > 新規追加、から投稿も下書き保存できない。
「更新に失敗しました。返答が正しい JSON レスポンスではありません。」と表示される。 - 1.が解決した後、設定したパーマリンクを見に行っても、「404 not found」が表示される。
試したことと解決策
以下、ネットでいろいろ調べながら、試したことと解決した対応
1.の投稿も下書き保存もできない件について
エラーにつながった要因は、設定 > パーマネントリンク設定を変更したことにあるようだった。
実際、デフォルトだと投稿した記事が数字の連番になるので、カスタム構造で「/%postname%」にしたほうがよい、と見かけたので、そのように変更していた。
パーマネントリンク設定を変更(厳密には、「基本」以外に変更したら、らしい)すると、サーバーのwordpressを展開したフォルダ配下に「.htaccess」というファイルが出来るが、ファイルが出来なかったり、うまく動かないことがあったりするらしい。
※後述の通り、ここは関係なかったが。
試したこと
- パーマネントリンク設定を再度保存する。
- 「.htaccess」ファイルを自分で作成して、アップロードする。
どちらも、無関係。そもそも、「.htaccess」は正しく生成されていた。
解決方法
- 「Classic Editor」プラグインを入れる
wordpress5.0からデフォルトのエディターが「Gutenberg」というものになっていたらしいが、そのエディターが原因だったとのこと。
上記のエディターに変更したら、無事に投稿が出来た。
2.のリンクを見に行っても投稿が表示されない件について
1.で投稿はできるようになり、実際、ブログのトップでは、記事が見られた。
しかし、パーマネントを設定したリンク先が「404 not found」が表示された。
試したこと
- 「.htaccess」ファイルのRewriteBase、RewriteRuleのところに、「/%postname%」を追加する
ページを見ても更新されず。
解決方法
- Appachの設定ファイル(httpd.conf)を修正
「.htaccess」の上書を許可するかどうかをこのファイルで設定しているとのこと。
httpd.confファイルでDirectoryが指定されているので、「.htaccess」が置かれているDirectoryに対して、「AllowOverride None」→「AllowOverride All」に修正。
ちなみに、ALLはすべて許可、Noneはすべて不許可、とのこと。
後書き
一般的には、「htaccess」に問題があることが多いらしく、「htaccess」ファイル周辺をいじっていたので、時間がかかった。
ただ、そもそも、「htaccess」ファイルはなるべく触らないほうがよい、という記載もあったので、今後は気を付ける。