WordPressでの.htaccessの利用方法
技術情報
.htaccessの場所はどこか、リダイレクトや常時SSL化、セキュリティ対策など、WordPressでの.htaccessの利用方法についてまとめています。
目次
この記事の目次です。
1. .htaccessの利用条件
2. そもそも.htaccessとは何か
3. WordPressのどこにあるか?.htaccessの場所
4. WordPressの「.htaccess」内の記述場所と注意点
5. 常時SSL化などのリダイレクト設定
6. .htaccessを利用したWordPressのセキュリティ対策
1. .htaccessの利用条件
.htaccessの利用条件はWordPressを使用していても同じです。 .htaccessがサーバで利用できる必要があります。後述しますが、.htaccessはApache HTTP Serverというソフトウェアの設定ファイルです。 ご利用のサーバでApacheを使用し、.htaccessファイルを有効にしている場合に利用できます。
2. そもそも.htaccessとは何か
.htaccessとは、リダイレクトや常時SSL化、BASIC認証の追加、ダッシュボードやwp-config.phpへのアクセス制限など、が行えるApache HTTP Serverというソフトウェアの設定ファイルです。 Apache HTTP Serverは略してApacheといわれるソフトウェアで、サーバーでホームページを公開するために使用されるソフトウェアです。
以下の記事で詳しく解説しています。
参考).htaccess
htaccessとは、ホームページを公開するApache HTTP Server(Webサーバ)の設定ファイルです。 読み方は「エイチティーアクセス」です。htaccessの使い方から技術サポートを目的にまとめています。
3. WordPressの.htaccessの場所(.htaccessはどこにあるか)について
WordPressのインストール媒体を解凍するとその中には「.htaccess」は含まれていません。 どこに「.htaccess」あるのでしょうか。 .htaccessがWordPressのどこにあるのか、また、どこに設置すればよいのかなど、まとめていきます。
4. 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に設定して書込みできないようにすると自動更新されなくなります。
5. 常時SSL化などのリダイレクト設定
常時SSL化などのリダイレクト設定についての参考情報です。
リダイレクト
htaccessでリダイレクトが行えます。 正規表現やパラメータ付きURLの設定など、.htaccessでのリダイレクトについて解説しています。
常時SSL化
常時SSL化について、.htaccessやWordPressの設定、チェックツールについて紹介しています。 レンタルサーバーを利用している方から.htaccessについてのご相談いただき、たくさんのホームページを見てきましたが、いつも常時SSL化の設定に不足がある状態でしたので、レンタルサーバーを利用している方の参考になると思います。
6. .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>
関連記事
関連記事です。
WordPress
WordPress(読み方:ワードプレス)やレンタルサーバの設定に詳しくない方のサポートを目的に、WordPressや、htaccess(リダイレクトなどに使用する設定ファイル)の場所はどこかなど、サーバー関連の知識をやさしく解説していきます。
更新履歴
更新履歴になります。
- 2022/5/25 WordPressのコードが記述される.htaccessがない場合について追記しました。
- 2022/1/12 記事をアップしました。