パーマリンク設定変更時のサーバーエラー対処法

パーマリンク設定の変更後、ページを表示しようとした際に、サーバーエラーが返され場合の対処方法。

考えられる原因は

  • サーバー側(apache)の「mod_rewrite」モジュールが無効になっている。
  • WordPressのフォルダ内にある.htaccessへの書き込み権限がない。

まず、最初の「mod_rewrite」モジュールが無効になっている場合。そもそも、パーマリンクをデフォルトから変更(静的URLに)すると、サーバー側の「mod_rewrite」と言うモジュールを使って、アクセスのあった静的URLを本来の動的URLに書き換える処理を行います。

そのため、「mod_rewrite」が無効になっていると書き換えができずサーバーエラーとなります。

この設定を有効にするにはapacheの設定ファイル(httpd.conf)内

#LoadModule rewrite_module modules/mod_rewrite.so

の先頭の#を取ると有効になります。

 

次に、WordPressフォルダ内(wp-admin等があるディレクリー)にある「.htaccess」にWordPress自体が変更を書き込めていない状態だとサーバーエラーになります。

この場合は、パーマリンク設定変更後ページ上部に「.htaccess」への変更を手動で書き込むようなメッセージが表示され、ページ下部に「.htaccess」へ書き込みコードが表示されているので、SFTPなどで「.htaccess」へコピーペーストする。

また、WordPressが自動で変更できるように「.htaccess」のパーミッションを変更する場合はセキュリティに関わるので注意が必要。