WordPressのサイトを作ったときに、生地も順調に更新して、サイトも作ったのに記事の本文が表示されないという現象が起こったことはありませんか?それ、パーマリンクのせいかもしれません。
この記事ではそんなパーマリンクの設定による表示の設定の方法をお教えします。
パーマリンクの変更による記事のNot Foundを解決する方法
まずはパーマリンク設定をデフォルトにしてみる
この症状が現れる人は記事のリストは表示されているのにそのリストから記事をクリックするとNot Foundの画面がでてしまうという感じだと思います。まず、それが本当にパーマリンクの設定のせいなのかを確認しましょう。
下図のようにパーマリンク設定を開きます。
webledgeではパーマリンクの設定を「投稿名」にしています。(だってSEOに強いらしいし。)
まずは一度これを「デフォルト」にして表示してみましょう。他がどんな設定でもパーマリンクをデフォルトのものにしておけばNot Foundにはなりません。(パーマリンク設定が原因だった場合。)
ここでデフォルトの設定にしても場合にエラーが治らなかった場合は別の要因が考えられます。
解決方法1 .htaccessの設定
この.htaccessの設定上での不備が最も多い原因の一つです。基本的には、パーマリンクの設定は.htaccessというファイルが権限を持っています。
.htaccessとは、サイトにアクセスしてくる人を制限したり、海外からのアクセスを制限する役割があります。
海外からのアクセスを.htaccessで制限する方法は別の記事に記載しているので、参考にしてみてください。→.htaccessで海外からのアクセスを拒否する方法
さて、.htaccessの設定は意外と簡単です。まずは、FTPソフト等を用いて直下にある.htaccessファイルをローカルに落としましょう。直下のディレクトリが無い場合には新規で作成します。
なお、.htaccessなどの、ファイル名が拡張子で始まるファイルは「隠しファイル」といい、通常では表示されていない場合もあります。そんなときはこの記事を参考にして隠しファイルを表示してください。→隠しファイルを表示する方法(windows)
さて、ローカルに落とした.htaccessファイルをsublime textやTeraPadなどのテキストエディターで開きましょう。(新規で作成する場合は名前を.htaccessとして保存するようにしてください。)
書く内容に関しては、設定→パーマリンク設定の下の部分に現れているはずです。
この部分に出てきたものを.htaccessにまるまるコピーしてしまえば簡単です。(ちなみに、一応パーミッションも書き込み可能な状態にしなくてはなりません。迷ったら最悪777で大丈夫かと思います。)
解決方法2 httpd.confファイルの設定
こいつはサーバー(Apache)の設定でいじる範囲になります。基本的に、レンタルサーバーを使っている人にとっては起こることが少ない原因の一つです。厳密にどのように修正するべきかということは書けますが、実際にはレンタルサーバーの会社に直接伺った方がよいでしょう。
パーマリンクとはなんぞや
パーマリンクは記事や固定ページのURLを決めるもの
通常、記事や固定ページ等を作成した時には独自の番号等が記事に振り分けられ、それによってURLが決定します。しかし、そのデフォルトの状態では不便な状況が多々あります。
- 共有したときになんの記事かURLだけではわからない
- SEO的に弱い
- URLの管理がしにくい
などです。
パーマリンクにはしっかりと名前の決め方があります。
- 日本語は使わない
- あまり長くしない
- 記事に関連したキーワードを埋め込む
などです。
日本語を使った場合、URLで共有するときにはかなり長い文字コードになってしまいます。長すぎるとtwitterやfacebookなどでも共有しにくくなりますし、おすすめはしません。
また、サイトにあったキーワードをパーマリンクに設定する事をおすすめします。今回の記事でしたらパーマリンクの部分はpermalinkとしています。
そのように英語で一言で表すのが最も良いパーマリンクの設定だと思います。
まとめ
パーマリンクというのはかなりSEOや記事の質に関連してくる部分が多いものです。なのにwordpressで設定するときにこんなにエラーがでたら困りますよね?そんなときにしっかりとこの記事で.htaccessの扱いを見ていただければ嬉しいです。