【WordPress上級者編】プラグイン「Custom Permalinks」の使い方と、404(not found)エラーになったときの対処方法
【景品表示法に基づく表記】本サイトのコンテンツには、商品プロモーションが含まれている場合があります。
カイエダです。
今回の記事は、少し難しいです。
WordPressをご自身で構築し、サーバーの情報をさわって作業できる人向けです。
この記事の目次
パーマリンクの設定が自由になるプラグインCustom Permalinks
WordPressでは、パーマリンク設定ができます。
わかりやすく言うと、自分の好きなURLが選べる、決められるということです。
▼パーマリンクとは
基本設定として以下の中から選べます。
ただし、基本設定を1つ選んでしまうと、どのページも同じルールのもと、ページ名が決まってしまいます。
- たくさん書くブログ記事を毎回リネームする手間を省きたい…
- けれど、ページ名にこだわりたい場合もある…
このような要望もありますよね。
そんなときに便利なプラグインが「Custom Permalinks」です。
Custom Permalinksを導入方法
- プラグイン>新規追加で「Custom Permalinks」を検索します。
- 見つかったら「今すぐインストール」「有効」とボタンを押してください。
- Custom Permalinksを入れて、ページ名のリネームをする場合、まず先にWordPressの設定>パーマリンク設定>で「基本」を選択し更新しておきましょう。
- ページ名をリネームする場所は以下の画像の赤枠内を参照してください。
英数半角でのアルファベットで入力しましょう。
お尻に「/」(スラッシュ)を入れるのを忘れずに。
Custom Permalinksは、ダッシュボードのサイドバーにも項目として登場します。
カテゴリーのパーマリンクも変更できます。- 一覧では、リネームしたページ一覧がみれます。
Custom Permalinksでリネーム後の注意点
ただし、導入するサーバーによっては、いざリネームしてみると、該当ページが404エラー(not found)の状態となる事態が勃発します。
おそろしい…!
その際はWordPressが入っているディレクトリ直下の.htaccessを編集します。
Custom Permalinks利用時は.htaccessを編集する必要があることも
404エラーとなり、ページ不明状態になる原因は、WordPress直下の「.htaccess」に以下の内容に、リダイレクトやパーマリンクを設定できる「部品」となるモジュールが記述されていないためでした。
以下、コピー&ペーストでご利用ください。
.htaccessに書き込む記述
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
本来、WordPressの注意書きだよ!と宣言している
# BEGIN WordPress
# END WordPress
の間に記述したいところですが、敢えてこの欄外に記述してください。
理由は後述します。
.htaccessの編集方法
FTPでサーバーに入れる場合
TPでサーバーに入れる方は、直接.htaccessをWordPressが格納されているディレクトリ直下からダウンロードして編集しましょう。
マシンによって編集できない場合もあります。
そんなときは.htaccessをhtaccess.txtのようにリネームして編集します。
再びFTPでアップロードし、FTP上でリネームしましょう。
レンタルサーバーによっては、オンラインサーバー上で.htaccessを編集できる
各レンタルサーバーも、WordPressユーザーが増えてきているためか、オンライン上で.htaccessファイルを編集できるように手配してくれているところが多いです。
代表的なレンタルサーバー各社のマニュアルをリンクしておきますね。
▼エックスサーバー
▼ロリポップ
▼さくらインターネット
「mod_rewrite」の役割
「mod_rewrite」は、ブログやウェブサイトのURLを「rewrite(書き換える)」ためのモジュールです。
modは「module」の略です。
意味がわかると、理解しやすい!
WordPressにおいては、パーマリンク構造設定でURLの表示を方法を変更できます。
WordPressの管理画面上からは目にすることができない場所で「mod_rewrite」を使った処理を行っているため、できる仕組みです。
つまり、.htaccessにmod_rewriteの記述がないと、パーマリンクが変更されないのです。
.htaccessの意味合い
.htaccessは、このファイルを置いたディレクトリ、およびその下層(サブディレクトリ)以下にのみ設定が適用されます。
そのため共用サーバーであれば、それぞれのユーザーのディレクトリに置いた.htaccessを編集することで、共有サーバーの他のユーザーには影響を与えずに処理を行えます。
.htaccessが書き換えられてしまった場合
WordPressの更新などで、.htaccessが書き換えられる現象があります。
それを防ぐ一番の方法は上述いたしましたが、# BEGIN WordPress〜# END WordPressの欄外にmod_rewriteの記述を書くことです。
こうしておくと、WordPressの更新に影響を受けません。
まとめとして
プラグインの不具合は起こることがあります。
そんなときは原因究明してファイルを書き換えたりなどの作業が発生しますが、必ず「バックアップ」を取った上でおこないましょうね!