事の始まり
固定ページを編集し、試しに固定ページを表示させたがアクセスできなかった。
情報収集するとmod_rewriteや.htaccess周りのトラブルが疑われるらしい。
.htaccess
そもそもこんなファイルなんて設置していなかった。
情報収集するといろんな.htaccessの例が記載されていたが、実はパーマリンク設定のページの下に.htaccessの記載例が表示されていた。もっとも、WordPressが.htaccessに直接書き込み可能ならば、自分で編集する必要はない。
WordPressをインストールしたディレクトリに移動して
~$ gedit .htaccess
を実行し
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /(apacheのドキュメントルート)/(WordPressをインストールしたディレクトリ)/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /(apacheのドキュメントルート)/(WordPressをインストールしたディレクトリ)/index.php [L] </IfModule>
コピペして保存する。
mod_rewrite
以前のapacheであれば、httpd.confに直接モジュールの記載をしていたのだが、現在使っているapache2の場合、モジュールの有効化方向が違うみたい、、、
|--apache2.conf |--conf-available | |--charset.conf | |--javascript-common.conf | |--localized-error-pages.conf | |--other-vhosts-access-log.conf | |--php7.2-cgi.conf | |--security.conf | |--serve-cgi-bin.conf |--conf-enabled | |--charset.conf | |--localized-error-pages.conf | |--other-vhosts-access-log.conf | |--security.conf | |--serve-cgi-bin.conf |--envvars |--magic |--mods-available | |--access_compat.load | |--actions.conf | |--actions.load | |--alias.conf | |--alias.load | |--allowmethods.load | |--asis.load | |--auth_basic.load | |--auth_digest.load | |--auth_form.load | |--authn_anon.load | |--authn_core.load | |--authn_dbd.load | |--authn_dbm.load | |--authn_file.load | |--authn_socache.load | |--authnz_fcgi.load | |--authnz_ldap.load | |--authz_core.load | |--authz_dbd.load | |--authz_dbm.load | |--authz_groupfile.load | |--authz_host.load | |--authz_owner.load | |--authz_user.load | |--autoindex.conf | |--autoindex.load | |--buffer.load | |--cache.load | |--cache_disk.conf | |--cache_disk.load | |--cache_socache.load | |--cern_meta.load | |--cgi.load | |--cgid.conf | |--cgid.load | |--charset_lite.load | |--data.load | |--dav.load | |--dav_fs.conf | |--dav_fs.load | |--dav_lock.load | |--dbd.load | |--deflate.conf | |--deflate.load | |--dialup.load | |--dir.conf | |--dir.load | |--dump_io.load | |--echo.load | |--env.load | |--expires.load | |--ext_filter.load | |--file_cache.load | |--filter.load | |--headers.load | |--heartbeat.load | |--heartmonitor.load | |--http2.load | |--ident.load | |--imagemap.load | |--include.load | |--info.conf | |--info.load | |--lbmethod_bybusyness.load | |--lbmethod_byrequests.load | |--lbmethod_bytraffic.load | |--lbmethod_heartbeat.load | |--ldap.conf | |--ldap.load | |--log_debug.load | |--log_forensic.load | |--lua.load | |--macro.load | |--mime.conf | |--mime.load | |--mime_magic.conf | |--mime_magic.load | |--mpm_event.conf | |--mpm_event.load | |--mpm_prefork.conf | |--mpm_prefork.load | |--mpm_worker.conf | |--mpm_worker.load | |--negotiation.conf | |--negotiation.load | |--php7.2.conf | |--php7.2.load | |--proxy.conf | |--proxy.load | |--proxy_ajp.load | |--proxy_balancer.conf | |--proxy_balancer.load | |--proxy_connect.load | |--proxy_express.load | |--proxy_fcgi.load | |--proxy_fdpass.load | |--proxy_ftp.conf | |--proxy_ftp.load | |--proxy_hcheck.load | |--proxy_html.conf | |--proxy_html.load | |--proxy_http.load | |--proxy_http2.load | |--proxy_scgi.load | |--proxy_wstunnel.load | |--ratelimit.load | |--reflector.load | |--remoteip.load | |--reqtimeout.conf | |--reqtimeout.load | |--request.load | |--rewrite.load | |--sed.load | |--session.load | |--session_cookie.load | |--session_crypto.load | |--session_dbd.load | |--setenvif.conf | |--setenvif.load | |--slotmem_plain.load | |--slotmem_shm.load | |--socache_dbm.load | |--socache_memcache.load | |--socache_shmcb.load | |--speling.load | |--ssl.conf | |--ssl.load | |--status.conf | |--status.load | |--substitute.load | |--suexec.load | |--unique_id.load | |--userdir.conf | |--userdir.load | |--usertrack.load | |--vhost_alias.load | |--xml2enc.load |--mods-enabled | |--access_compat.load | |--alias.conf | |--alias.load | |--auth_basic.load | |--authn_core.load | |--authn_file.load | |--authz_core.load | |--authz_host.load | |--authz_user.load | |--autoindex.conf | |--autoindex.load | |--deflate.conf | |--deflate.load | |--dir.conf | |--dir.load | |--env.load | |--filter.load | |--mime.conf | |--mime.load | |--mpm_prefork.conf | |--mpm_prefork.load | |--negotiation.conf | |--negotiation.load | |--php7.2.conf | |--php7.2.load | |--reqtimeout.conf | |--reqtimeout.load | |--rewrite.load | |--setenvif.conf | |--setenvif.load | |--status.conf | |--status.load |--ports.conf |--sites-available | |--000-default.conf | |--default-ssl.conf |--sites-enabled | |--000-default.conf
/etc/apache2/mods-available$ cat rewrite.load LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so /etc/apache2/mods-available$ sudo a2enmod rewrite Enabling module rewrite. To activate the new configuration, you need to run: systemctl restart apache2 /etc/apache2/mods-available$ sudo service apache2 restart
これでエラーは消失した。