法人・個人事業主向けの新サービスAmazonビジネス→【詳細はこちら】

mixhostブログの.htaccess設定は3つだけでOK

WordPressの.htaccess設定

2019年1月30日・初期サブドメインから独自ドメインへリダイレクトするコードも追記しました・

第5回目となる講座は「.htaccess」の設定です。

.htaccessとは?

コードを入力することで、サーバーをいろいろと制御できるファイルです。

当サイトでおすすめしている「MixHost 」以外のサーバーをご契約の方は、今回の設定は当てはまりませんのでご了承ください。

mixhostを試してみる※クレジットカード登録不要で10日間無料お試しできますその後は自動解約されるのでほったらかしでOK!!

すこーし専門用語多めになりますが、全部を理解しなくとも設定だけしっかりやっていただければ構いません。

そもそも「.htaccess」の設定は中級者以上の項目ですが、当サイトの「WordPress講座」は素人サイトの脱却がコンセプトなので、サクッとやっていきましょう。

今回「.htaccess」で設定するのは以下の3つです。

.htaccessの効果
  1. https://リダイレクト設定
  2. URLの正規化
  3. 管理画面へのアクセス制限

えっ??これだけでいいの?と思ったかもしれません。

他のサーバーだと「キャッシュ」やら「gzip圧縮」やらもあるのですが、当サイトでおすすめしているサーバー「MixHost 」では「LiteSpeed Cache」プラグインを使えるので、大抵の機能はすでに実装されています。

mixhostの.htaccess設定①【https://リダイレクト】

「【脱初心者】強いWordPressブログの始め方を図解で解説」でURLのSSL化(https://〜)を行いました。

ただユーザーがURLからアクセスしたり、参考リンクを貼るときに「http://〜」のSSL化されていないURLを使われる場合があります。

その場合でも「https://〜」の方に飛ばすよう設定します。

こうすることで、常にSSL化されたサイトを表示できるようになるわけですね。

試しに当サイトを「http://kagesai.net」でアクセスしてみてください。「https://〜」表示されるはずです。

LiteSpeed Cache」なら「.htaccess」を管理画面から設定できるので楽チンです。

まず、コードをミスっても復旧できるようトップページのタブを複製しておきましょう。

タブ複製ショートコード
  • Macユーザー⌘command + l(エル)で検索バー選択後command + shift + enterでタブ複製
  • Windowsユーザーctrl + l(エル)で検索バー選択後alt + enterでタブ複製
LiteSpeed Cache.htaccess編集

LiteSpeed Cache」にマウスホバー

.htaccessの編集」をクリック

LiteSpeed Cache.htaccess編集2

# BEGIN LSCACHE」の上に以下のコードを追記してください。

.htaccess
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

以下のようになればOK

LiteSpeed Cache.htaccess編集3

一番下までスクロールして設定を保存をクリック

コードを追記するごとに、複製した別タブで「トップページ」と「記事」が表示されてるか確認してください。

カゲサイトップページ

コードミスがあると、表示されなかったり、404エラーページになります。

その場合は一旦コードを削除して、もう一度設定を保存をクリックすれば元に戻ります。

mixhostの.htaccess設定②【URLの正規化】

「MixHost」の場合、SSL化したサイトは何もしないとURLが以下のように分かれています。

URLが分かれた状態とは、力(ドメインパワー)が分散されるイメージになります。

そこでどのURLからアクセスしても「https://ドメイン」になるように統一します。(上記リンクは統一してあります。)

初期サブドメインとは?
ミックスホストのプライマリドメイン

契約時に設定したドメインです。

MixHostにログイン」して確認してください。

以下のコードを先ほどの「</IfModule>」の下に追記してください。

.htaccess
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

Options +FollowSymLinks
RewriteEngine on
<!-- wwwなしに統一 -->
RewriteCond %{HTTP_HOST} ^www\.kagesai\.net$
RewriteRule ^(.*)$ https://kagesai.net/$1 [R=301,L]
<!-- index.html(php)なしで統一 -->
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://kagesai.net/$1 [R=301,L]
<!-- 初期サブドメインから独自ドメインへ -->
RewriteCond %{HTTP_HOST} ^kagesai\.初期サブドメイン\.mixh\.jp$ [NC]   
RewriteRule (.*) https://kagesai.net/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.kagesai\.初期サブドメイン\.mixh\.jp$ [NC]
RewriteRule (.*) https://kagesai.net/$1 [R=301,L]

赤字部分ご自身のドメインに変更緑字部分ご自身の初期サブドメインに変更

補足

.」と「\」の位置に注意してください。

設定を保存をクリックしたら、トップページと記事を確認。

mixhostの.htaccess設定③【管理画面へのアクセス制限】

ここは少し難易度が上がります。

WordPressの初期状態は、ログイン画面へのURLが以下のように決まっています。

https://ドメイン/wp-login.php

つまり相手のドメイン名が分かれば、ログイン画面まではいけてしまうわけです。

WordPress管理者ログイン画面

WordPress管理者ログイン画面

本来ログイン画面は自分以外に見せるものではありません。

もちろん「ユーザー名」と「パスワード」が分からなければ、ログインされることはありませんが、どうせなら「ログイン画面」のアクセスも防止しておきましょう。

以下のコードを先ほどの「RewriteRule ^(.*)index.html$ https://kagesai.net/$1 [R=301,L]」の下に追記してください。

.htaccess
<IfModule mod_rewrite.c>
RewriteCond %{HTTP} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

Options +FollowSymLinks
RewriteEngine on
<!-- wwwなしに統一 -->
RewriteCond %{HTTP_HOST} ^www\.kagesai\.net$
RewriteRule ^(.*)$ https://kagesai.net/$1 [R=301,L]
<!-- index.html(php)なしで統一 -->
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://kagesai.net/$1 [R=301,L]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^enter/?$ /wp-login.php?abcd1234 [R,L]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^dashboard/?$ /wp-login.php?abcd1234&redirect_to=/wp-admin/ [R,L]
RewriteRule ^dashboard/?$ /wp-admin/?abcd1234 [R,L]
RewriteRule ^register/?$ /wp-login.php?abcd1234&action=register [R,L]
RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php
RewriteCond %{HTTP_REFERER} !^(.*)https://kagesai.net/wp-admin
RewriteCond %{HTTP_REFERER} !^(.*)https://kagesai.net/wp-login\.php
RewriteCond %{HTTP_REFERER} !^(.*)https://kagesai.net/enter
RewriteCond %{HTTP_REFERER} !^(.*)https://kagesai.net/dashboard
RewriteCond %{HTTP_REFERER} !^(.*)https://kagesai.net/register
RewriteCond %{QUERY_STRING} !^abcd1234
RewriteCond %{QUERY_STRING} !^action=logout
RewriteCond %{QUERY_STRING} !^action=rp
RewriteCond %{QUERY_STRING} !^action=register
RewriteCond %{QUERY_STRING} !^action=postpass
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^.*wp-admin/?|^.*wp-login\.php /not_found [R,L]
RewriteCond %{QUERY_STRING} ^loggedout=true
RewriteRule ^.*$ /wp-login.php?abcd1234 [R,L]
</IfModule>

abcd12346箇所を指定することでログイン画面のURLを変更できます。

パスワードと同じく、なるべく複雑なものにしましょう。(メモを忘れずに

続いてkagesai.net5箇所を自分のドメイン名に変更してください。

これでログイン画面のURLがオリジナルのものに変わりました。

この例だと「https://kagesai.net/wp-login.php?abcd1234」になります

補足

phpの後に「?」を挟むので注意

設定を保存をクリックしたら、トップページと記事を確認、問題なければ次の作業に移ってください。

管理画面のログインURLを確認

シークレットモードで、過去のログインURLで検索をかけてみましょう。

シークレットモードのショートコード
  • Macユーザー⌘command + shift + n
  • WindowsユーザーCtrl + Shift + n

https://自分のドメイン/wp-login.php」で検索をかけて、404エラーページが表示されればOKです。

MACシークレットウィンドウで検索

最後にそのままシークレットモードで「新しいURLで検索」かけます。

MACシークレットウィンドウで検索
WordPress管理者ログイン画面

WordPress管理者ログイン画面

ログイン画面が表示されれば設定完了です。

ここまで設定したら、あとは記事を書いていきましょう。

当講座の流れでここまで来た方は「「WordPressインストール後に必要な8つの初期設定を解説」の表示設定でチェックをつけた「検索エンジンでの表示」のチェックを外してください。

WordPress検索エンジン表示設定

次回予告

次回は「子テーマの使い方」について、解説します。

子テーマを使えるようになると、カスタマイズ性がグーンとアップするので、ぜひ使いこなしましょう。

WordPress子テーマ Cyberduckの使い方WordPressの子テーマを分かりやすく解説
カゲサイーカゲオカゲオ

第5回目のWordPress講座はいかがでしたか?

今までの中では一番難しかったかもしれませんね。

慣れるまでは下手にいじらない方が良いファイルなので、最初だけ設定したらあとはほったらかしでOKです。

ご質問・ご感想・受付中

「メールアドレス入力欄」を削除した為「返信通知」は届きません。
確実に返信が必要な場合は「お問い合わせ」よりご連絡ください。

他の方にも有益になると判断した質問やコメントは記事に引用させて頂く場合がありますのであらかじめご了承下さい。