WordPress

WordPressの理解が深まる「.htaccess」の役割

更新日:

WordPressの仕組みに欠かせない「.htaccess」

Webサーバーの役割を簡単に説明すると次の通りです。
パソコンやスマートフォンからURLを受け取り、対応するHTMLを返しています。

URLを受け取ることをHTTPリクエスト、HTMLを返すことをHTTPレスポンスと言います。

性的webサイト

一般的なWebサイトの場合、URLに対応するHTMLファイルをブラウザにレスポンスしています。

WordPressサイト

WordPressは一度全てのHTTPリクエストをindex.phpに集め、データベース(MySQL)と連動して求められるHTMLを動的に生成してブラウザにHTTPレスポンスを返しています。

そのため、WordPressではURLには必ずパラメーターが含まれ、そのパラメーターからリクエストの内容を解析しています。

WordPressにはパラメーターの渡し方にいつくかパターン(URLのパターン)が存在します。
その設定を行なっているのが設定メニューのパーマリンク設定です。

そしてその設定を実際に行なっているのがApacheWebサーバーに対して制御を管理する「.htaccess」ファイルです。

「.htaccess」ファイルはWordPress特有の物ではなく、Apache Webサーバーにおけるディレクトリごとの設定情報を記したファイルです。

WordPressではパーマリンク設定の内容に基づき適切な「.htaccess」を自動的に生成しています。

WordPressのパーマリンク設定

WordPressには5つのパーマリンク設定があります。

設定名 URL 適用
基本 https://domein.com/?p=123 GETパラメータでPageIDをindex.phpに渡しています。この方式だと「.htaccess」は空欄になります。
日付と投稿名 https://domein.com/YYYY/MM/DD/post-name/ 日付と投稿名でURLを構成しています。「.htaccess」が設定されます。
月と投稿名 https://domein.com/YYYY/MM/post-name/ 上の例から日データが削除された例。「.htaccess」が設定されます。
数字ベース https://domein.com/archives/123 投稿番号(PageID)で判断しています。「.htaccess」が設定されます。
投稿名 https://www.takujiozaki.com/post-name/ 投稿名でで判断しています。「.htaccess」が設定されます。
その他 任意のURLパターン 「.htaccess」が設定されます。

基本のパターンはGETパラメータで受け取るため、初期設定が基本だと「.htaccess」は作られません。しかし他のパターンを選択、保存すると「.htaccess」が作成されます。

作成場所はWordPressのドキュメントルートです。

*WordPressのインストールディレクトリにWebサーバーの書き込み権限がないと作成されないのでWordPressがうまく動作しなくなる可能性があります。

WordPress使い始めたらまず「パーマリンク設定」を確認しましょう!

WordPressが作る.htaccessファイル

# BEGIN WordPress〜# END WordPressの間をWorPressが編集します。
独自の設定を加える場合はこの範囲外に記載すれば設定を共存させることが可能です。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

上記は実際にWordPressが書き出した「.htaccess」の中身です。
あらゆるアクセスをindex.phpに集中させるように書かれています。

基本パターンの場合はそもそもがindex.php?p=xxxとなっていますので設定が不要ということになります。

基本パターンを選ぶと「.htaccess」ファイルがないか、# BEGIN WordPress〜# END WordPressの間が空欄になっています。

「.htaccess」ファイルとWordPress

.htaccessファイルは普段目にすることもないかもしれません。
特に知らなくてもWordPressを使用する上ではあまり問題ではありません。

ただWordPressを使いこなそうとかカスタマイズしたいと考えるなら、.htaccessファイルの働くや設定内容を理解することはとても有益です。

.htaccessファイルの理解はWebサーバーの勉強にもなりますので取り組んで損はありません。気になったらそれはいい機会ですので勉強してみてください。

-WordPress

Copyright© Webエンジニア TKJ , 2019 All Rights Reserved.