sg <

WordPressで404エラーがでて発狂する

事の始まり

固定ページを編集し、試しに固定ページを表示させたがアクセスできなかった。

情報収集すると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

これでエラーは消失した。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください