#現象
Amazon LinuxインスタンスでWordpressをたてた。その際パーマリンクを基本→投稿名に変更して記事を投稿しようとするも、「返答が正しいJSONレスポンスではありません」とエラーが出て投稿できない&トップページ以外が表示できなくなってしまった。
wordpress返答が正しいJSONレスポンスではありません
上記記事でapache設定が原因とわかった。
sudo vi /etc/apache2/apache2.conf
記事の通り上記コマンドで設定ファイルに入ろうとするも、Amazon Linuxではそのようなファイルがなかった。
Amazon LinuxはRedHat系ベースに対し、上のものはDabianの設定ファイルになっているためだ。
参考
http://www.linux.net-japan.info/install08.html
https://www.acrovision.jp/service/aws/?p=653
#対処法
AWSドキュメントに方法が書いてあった。
WordPress がパーマリンクを使用できるようにするには
1.該当のインスタンスに接続した上で、下記コマンドでファイルに入る。
sudo vim /etc/httpd/conf/httpd.conf
2.<Directory "/var/www/html">
で始まるセクションを見つける。(※複数の AllowOverride行があるため、間違えないように。必ず <Directory "/var/www/html">
セクションの行を探す。vimで/html
と検索すると、すぐ見つかる。)
<Directory "/var/www/html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
3.上のセクションをAllowOverride None
行をAllowOverride All
に変更。(None→All)
4.ファイルを:wqで保存する。
5.上記設定を反映させるため、sudo systemctl restart httpd.service
で再起動させる。sudo systemctl status httpd.service
で念のためアクティブになっているか確認。
上記設定をするとパーマリンクを基本以外にしても、記事の投稿ができたりトップページ以外も参照できるようになる。