目次

この記事の目次です。

1. WordPressとは
2. WordPressのインストール方法
3. WordPressでの.htaccessの利用について
4. そもそも.htaccessとは何かについて
5. WordPressのどこにあるか?.htaccessの場所について
6. WordPressの「.htaccess」内の記述場所と注意点
7. .htaccessを利用したWordPressのセキュリティ対策の例
8. URLの設定方法
9. 大量の画像のメディアアップロードについて
10. 立ち上げ後にレイアウト崩れ(CSSが効かない)場合について

更新履歴

1. WordPressとは

WordPress(ワードプレス)は、ホームページを作成・更新するために利用されているPHPで実装されたCMSの1つです。 オープンソースで提供されているため、無料で利用することができます。

CMS

CMSとは、サイトの更新を管理するシステムのことです。 Webページを構成するHTMLやCSS、画像など、配置や編集からサイト管理まで管理画面の操作で簡単に行える機能が備わっています。

WordPressの機能と特徴

WordPressの機能と特徴には主に以下のようなものがあります。

2. WordPressのインストール方法

WordPressのインストール方法について見ていきます。

WordPressの動作要件

WordPressはPHPとMySQLを利用したCMSです。WordPressの推奨要件は以下となっています。

WordPressはこれらよりも古いPHP5.6.20以上、MySQL5.0以上でも動作していますが、セキュリティの観点から推奨されていません。

WordPressのインストール概要

WordPressのインストールの概要は以下です。

  1. WordPress パッケージをダウンロードして、解凍
  2. サーバー上に、WordPress 用のデータベースと、そのデータベースへの全アクセス権・編集権を持つ MySQL ユーザーを作成
  3. wp-config-sample.php ファイルの名前を wp-config.php に変更
  4. テキストエディタでwp-config.phpを開き、wp-config.phpファイルの編集記事の説明に従いデータベース情報と秘密鍵の値を記入
  5. サーバー上の希望の場所に、WordPress ファイルを設置
  6. ドメインルート (http://example.com/ など) に WordPress を置きたいときは、解凍した wordpress ディレクトリの中身 (wordpress ディレクトリ自体を除く全ファイル) をサーバーのルートディレクトリへアップロード
  7. ウェブサイト上の WordPress 用サブディレクトリ (http://example.com/blog/ など) に WordPress を設置したいときは、解凍した wordpress フォルダを好きなサブディレクトリ名に変更し、丸ごとサーバーのルートにアップロード
  8. ブラウザで wp-admin/install.php へアクセスし、インストールスクリプトを実行
  9. ルートディレクトリに設置したなら: http://example.com/wp-admin/install.php
  10. blog というサブディレクトリに設置したなら: http://example.com/blog/wp-admin/install.php

参考URL)http://wpdocs.osdn.jp/WordPress_のインストール

WordPressのインストール媒体のダウンロード方法

WordPressのインストール媒体は公式サイトで公開されています。

最新

最新版は以下のURLでダウンロードできます。

3. WordPressでの.htaccessの利用について

リダイレクトや常時SSL化、BASIC認証の追加、ダッシュボードやwp-config.phpへのアクセス制限など、WordPressを利用していても利用できます。

.htaccessの利用条件

.htaccessの利用条件はWordPressを使用していても同じです。 .htaccessがサーバで利用できる必要があります。後述しますが、.htaccessはApache HTTP Serverというソフトウェアの設定ファイルです。 ご利用のサーバでApacheを使用し、.htaccessファイルを有効にしている場合に利用できます。

4. そもそも.htaccessとは何かについて

.htaccessとは、リダイレクトや常時SSL化、BASIC認証の追加、ダッシュボードやwp-config.phpへのアクセス制限など、が行えるApache HTTP Serverというソフトウェアの設定ファイルです。 Apache HTTP Serverは略してApacheといわれるソフトウェアで、サーバーでホームページを公開するために使用されるソフトウェアです。

以下の記事で詳しく解説しています。

参考).htaccess

htaccessとは、ホームページを公開するApache HTTP Server(Webサーバ)の設定ファイルです。 読み方は「エイチティーアクセス」です。htaccessの使い方から技術サポートを目的にまとめています。

詳細

5. WordPressのどこにあるか?.htaccessの場所について

WordPressのインストール媒体を解凍するとその中には「.htaccess」は含まれていません。 どこに「.htaccess」あるのでしょうか。 .htaccessがWordPressのどこにあるのか、また、どこに設置すればよいのかなど、まとめていきます。

URの設定がパーマリンクの形式の時に自動生成される

「?p=N」のようなデフォルトの形式でなく、「/pagename」のようなパーマリンク形式の設定を行うと、WordPressは.htaccessファイルを生成もしくは既存の.htaccessに記述を追加します。

自動生成される場所

自動生成される場所はWordPressインストールディレクトリの直下になります。 インストールディレクトリとWordPressのURLのトップを変更している場合は、URLのトップの位置のディレクトリになります。

6. WordPressの「.htaccess」内の記述場所と注意点

WordPressの「.htaccess」内の記述場所と注意点についてです。

WordPressは「.htaccess」を自動更新します。自動更新される場所にリダイレクトの記述など追記してしまうと、いつの間にか消えてしまう恐れがあるので注意が必要です。

WordPressが出力する記述

WordPressが出力する記述は以下になります。

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

# END WordPress

# BEGIN WordPress ~ # END WordPressは自動更新エリア

BEGIN WordPress ~ # END WordPressは自動更新エリアになります。 自動更新エリアにリダイレクトなどの設定を追記しても自動更新のタイミングでクリアされてしまうので注意しましょう。

WordPressの.htaccessの自動更新タイミング

「ダッシュボード>設定>パーマネントリンク設定」の画面を表示したタイミングで自動更新が行われます。 もしどうしても# BEGIN WordPress ~ # END WordPressの自動更新エリアの中の記述を編集しなければならない場合は、.htaccessのアクセス権を444に設定して書込みできないようにすると自動更新されなくなります。

7. .htaccessを利用したWordPressのセキュリティ対策の例

.htaccessを利用したWordPressのセキュリティ対策の例です。

HTTPレスポンスヘッダーの設定

.htaccessでHTTPレスポンスヘッダーの設定が行えます。

<ifModule mod_headers.c>
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options sameorigin
Header always set X-Download-Options: noopen
Header always set X-Powered-By: ""
</ifModule>

<IfModule mod_php5.c>
php_flag session.cookie_httponly on
php_flag session.cookie_secure On
</IfModule>

<IfModule mod_php7.c>
php_flag session.cookie_httponly on
php_flag session.cookie_secure On
</IfModule>

※「X-Frame-Options」の設定はdenyにするとElementor(ロード中で止まる)などのプラグインが動作しなくなりますので、sameoriginを設定します。

管理画面(ダッシュボード)へのアクセス制限

管理画面(ダッシュボード)へのアクセス制限も.htaccessで行えます。 以下はBASIC認証を設定する例です。

パスワードファイル作成は以下で行えます。

htpasswd -c .htpassword <ユーザ名>

.htaccessに以下の設定を追加します。

<Files wp-login.php>
AuthUserFile <パス>/.htpassword
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
</Files>

8. URLの設定方法

WordPressのサイトURLの設定変更は、ダッシュボード(管理画面)から行う方法とwp-config.php(設定ファイル)で定数を定義する方法の2つがあります。

ダッシュボード(管理画面)から行うサイトURLの変更方法

ダッシュボード(管理画面)「設定>一般設定」画面に「WordPress アドレス (URL)」と「サイトアドレス (URL)」という2つの欄があります。 これらは「ホーム」および「サイト URL」設定と呼ばれることがありますが、こちらを設定してサイトのベースとなるURLを変更する方法です。

wp-config.php(設定ファイル)で定数を定義するサイトURLの変更方法

サイトURLの設定はダッシュボード(管理画面)から行うのが一般てきですが、前者の設定をミスしてしまうと表示が崩れたり、ダッシュボードにログインできなくなったり、リダイレクトループに陥ることがあります。 その設定ミスの影響を回避に使えるのが後者の方法です。

なお、上記でサイトURLのベースを変更しても投稿内やテーマに記述したURLは変更されません。 1つ1つダッシュボードで訂正する、あるいはSearch Replace DBなどのツールを使ってデータベース中の古いURLを変更する必要があります。

以下は、wp-config.php(設定ファイル)で定数を定義する方法についての解説です。

WP_SITEURLとWP_HOM

WordPressのダッシュボード(管理画面)の一般設定にて、誤ってWordPressアドレス(URL)とサイトアドレス(URL)を変更してしまい、リダイレクトされてWordPressのダッシュボードに入れなくなったことはありませんか。 そんな時は、wp-config.phpにWP_SITEURLとWP_HOMEという定数を定義することで、WordPressサイトURLの設定変更が行えます。

詳細

記事URLの変更方法

サイトURLはWordPressのページ全体のトップレベル(ルート)までのURLを設定します。 それ以外に、WordPressでは記事単位のURLの変更が行えます。

デフォルトの記事URL

WordPressをインストールした直後の状態では、記事のURLはhttps://htaccess-support.com/index.php?p=1のように、パラメータ―形式のURLになります。

記事URLの変更方法

ダッシュボード(管理画面)の「設定>パーマリンク設定」でリライト機能をONにすると、URLを書き換えるリライト機能を利用して、例えば、https://htaccess-support.com/aaa/というような記事名を付けたURLに変更することができます。

9. 大量の画像のメディアアップロードについて

大量の画像を一括でアップロードして投稿に挿入したい場合は、メディアアップロードを使わずに画像ディレクトリに配置してWordPressの投稿にリンクさせる選択もあります。

WordPressのメディアアップロードを使うとアップロードに時間がかかるだけでなく、画像1枚に付き1つの記事が内部的に作成されるなど、 データベースのデータ容量が増えて、サーバ側の実行速度劣化につながりやすいですので、メディアアップロードを使わない選択も検討してみてはいかがでしょうか。

10. 立ち上げ後にレイアウト崩れ(CSSが効かない)場合について

特に設定変更などせずに、立ち上げ後にレイアウト崩れ(CSSが効かない)場合、ChromeやFirefoxなどのブラウザで、view-source:<ページURL>を表示し、ご利用のテーマのCSSファイルの取込の出力がされているか確認してみましょう。

もし出力されていないようでしたら、テーマがWordPressやPHPのバージョンの仕様にあっていないコードを記述していて、表示するとエラーが発生し、CSSの出力部分が実行されていないことが多いです。 PHPのバージョンを下げたり、WordPressのバージョンを下げて、確認してみましょう。

もしそれで解決できない場合は、別のテーマで確認したり、サーバーに出力されるログやテーマの実装を確認し、CSSのコードが出力されていない原因を特定して対処する必要があります。

更新履歴

更新履歴になります。

位置:トップWordPress