.htaccessとは 意味やできることWordPress利用時のファイルの場所

本記事は広告が含まれる場合があります WordPress

【WordPress】.htaccessとは?どこにあるか場所と書き方

「.htaccess」は、http→httpsへリダイレクト(転送)したり、特定IPからのアクセスを拒否したりといったWebサイトのアクセス制御を設定できるファイルです。

WordPressの場合.htaccessは基本的に、WordPressをインストールしたディレクトリ直下(wp-adminやwp-contentディレクトリと同じ階層)に配置されています。

FTPソフトを利用した.htaccessファイルの確認

※インストール直後に.htaccessが該当の場所にない場合は、隠しファイルが見えない設定になっているかまだ生成されていないか(WordPressの設定>パーマリンクで何もせず保存すれば生成させる)ことが多いです。

今回は、WordPressユーザー向けに「.htaccess」の意味や設置場所、および簡単な書き方を説明します。

 

 

.htaccessは重要なファイルで間違うとサイトが正常に表示されなくなる場合もあります。.htaccessを編集する場合は、バックアップを取ってから自己責任で編集してください。また、今回紹介している記述内容はサンプルのため簡素に記述しています。本番サイトにそのまま適用できない場合もありますので、あくまで一例としてご参照ください。

 

WordPress運用時の.htaccessの設置場所

.htaccessの設置場所はWordPressインストールディレクトリ

WordPressでサイトを構築している場合.htaccessは基本的に、WordPressをインストールしたディレクトリ直下(wp-adminやwp-contentディレクトリと同じ階層)に配置されています。

.htaccessファイルの確認方法は、FTPソフトを使う、もしくはレンタルサーバーのファイルマネージャーから確認できます。下記画像はFTPソフトを使った場合の確認方法です。

FTPソフトを利用した.htaccessファイルの確認

 







エックスサーバーの場合、FTPの接続先トップには独自ドメインや初期ドメインがあります。
エックスサーバーのFTPの構造
 

独自ドメインフォルダの中を見ると、public_htmlというフォルダががあります。public_htmlはネット上に公開されているフォルダ(公開フォルダ)で通常この中にWordPressがインストールされています。
エックスサーバーのFTPの構造
 

独自ドメイン用のフォルダの中を見ると、インストールしたWordPressのファイル類があり、ここに.htaccessがあります。

WordPress インストールディレクトリ
 

ロリポップの場合、接続に成功すると右側にリモート側(ロリポップ側)には、各ドメイン用のフォルダがあります。※インストール状況によってはトップにWordPressがインストールされている場合もあります。
ロリポップにFTPアクセス。左側がPC。右側がサーバーリモート。
 

独自ドメイン用のフォルダの中を見ると、インストールしたWordPressのファイル類があり、ここに.htaccessがあります。
WordPress インストールディレクトリ

ConoHa WINGの場合、接続先トップは下記のような画面になります。インターネット公開フォルダpublicをダブルクリックします。
ConoHa WINGのFTPトップページ。publicを選択
 

ドメイン名が表示されるので、編集したいドメイン名をクリックします。
ドメイン名が表示されるので、編集したいドメイン名をクリックします。
 

インストールしたWordPressのファイル類があり、ここに.htaccessがあります。

WordPressインストールディレクトリが表示されます。
 


さくらの場合、接続先トップにあるwwwがネットに公開されているフォルダ(公開フォルダ)になります。wwwをダブルクリックしてみましょう。
さくらレンタルサーバーのFTPの構造
 

wwwの中に独自ドメイン用のフォルダがあります(個々の環境設定によっては、いきなり次のWordPressインストール先になっている場合もあります)。
さくらレンタルサーバーのFTPの構造
 

独自ドメイン用のフォルダの中を見ると、WordPressのインストールファイル類があり、ここに.htaccessがあります。
WordPress インストールディレクトリ
 

mixhostの場合、public_htmlがネット上に公開されているフォルダです。
 
最初に契約したドメインに対するWordPressファイル類ががpublic_htmlの中に入っています。※2個目以降の追加したドメインはドメイン名フォルダになります

public_htmlがネット上に公開されているフォルダ。最初に契約したドメインに対するWordPressファイル類ががpublic_htmlの中に入っています※2個目以降の追加したドメインはドメイン名フォルダになります
 



 

FTP接続情報については「WordPressユーザー向けFTP接続情報とFTPの使い方」をご参照ください。

なお、FTPソフトを使わなくても、利用レンタルサーバーでファイルマネージャー機能がある場合は、WEBブラウザからも.htaccessファイルを確認・編集できます。

ロリポップ FTP管理画面

ロリポップ FTP管理画面


 

関連ロリポップ!FTPの使い方・ファイルアップロード方法
関連【mixhost】FTP接続方法とcPanelファイルマネージャーの使い方
 

.htaccessが該当の場所にない場合

なお、WordPressインストール直後に.htaccessが該当の場所にない場合は、以下のケースが多いです。

隠しファイルが見えない設定になっている

FTPソフトの設定や、mixhostなどの一部ファイルマネージャー機能を利用している場合、デフォルトで隠しファイル(冒頭に.がつくファイル)が見えない設定になっている場合があります。

その場合は、「ドットファイルを表示」「不可視(隠し)ファイルを表示」などの項目を探してみて、あれば表示する設定をしてみてください。

■mixhost 非表示のファイルの表示の例
非表示のファイルの表示 (dotfiles)にチェックを入れて「save」を押下します
 

■FTPソフト Cyberduckで隠しファイルを表示する例

Cyberduckで隠しファイルを表示する例

 

まだ.htaccessが生成されていない

ご利用の環境によっては、WordPressインストール直後の状態で、まだ.htaccessが生成されていない場合があります。

その場合は、WordPress管理画面で、設定>パーマリンクで何もせずそのまま保存ボタンを押下してみましょう。通常、.htaccessが自動作成されるはずです。
設定>パーマリンクで変更を保存する

 

.htaccessとは

ここからは.htaccessについて改めて説明していきます。

.htaccessはどんな役割を持つファイルか

.htaccess(ドット エイチ ティ アクセス)」とは、Webサーバーソフトウェア「Apache(アパッチ)」の設定ファイルの一つで、Webサイトへのアクセスの制御ができます。

.htaccessファイルは、htmlやphpファイルのようにWebサイトの見た目や機能に影響を与えるのではなく、http→httpsへリダイレクト(転送)したり、特定IPからのアクセスを拒否したりといったアクセスの制御を主に行うことができます。

.htaccessのサンプルファイル

 

  1. 常時SSL化
  2. リダイレクト
  3. IPアドレス制限
  4. Basic認証

通常多くのレンタルサーバーでは、Apache(アパッチ)が利用されているので.htaccessを利用できることが多いですが、サーバーによっては.htaccessが利用できないことや、一部の記述方法が利用不可な場合もあります。また、WixやJimdoなどのホームページ作成サービスでも基本的に.htaccessは利用できません。

 

WordPressインストール時に生成される.htaccessの例

WordPressをインストールすると、通常は、下記のような.htaccessファイルが生成されます。

# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

※インストールするディレクトリや各々の環境によって、ご自身の.htaccessファイルは下記と異なる場合もあります。

 

.htaccessができること

.htaccessファイルを設定することにより、Webサイトを安全に運営するための常時SSL化、ドメイン移行やURL変更時に必要なリダイレクトや特定のユーザーのみ閲覧できるIPアドレス制限Basic認証などができるようになります。
 

.htaccessの代表的な役割

.htaccessを用いる代表的な役割の以下4つを例に、それぞれの意味や使い方を紹介していきます。

  1. 常時SSL化(リダイレクト)
  2. リダイレクト
  3. IPアドレス制限
  4. Basic認証

 

常時SSL化(サイトの正規化)

WordPressを利用する方で.htaccessを始めて触る機会が最も多いのが、常時SSL化の設定です。

常時SSL化とは、Webサイトのどのページを閲覧しても「https://webst8.com/xxx」のように「https」から始まるURLになっていることを指します。

常時SSL化されているかいないかの判断は、「http」でアクセスしても「https」になっているかどうかで確認できます。


 

■SSL化されていないと「保護されていない通信」と表記される
SSL化されていない場合のアドレスバーの表記(Chrome)
 

■常時SSL化されていると鍵マークが表示される
SSL化された場合のアドレスバーの表記(Chrome)
※Google Chromeの場合
 

関連WordPressのSSL/HTTPS化とは?意味や実装手順
関連ロリポップ WordPressで常時SSL化を設定する方法・手順
関連【エックスサーバー常時SSL】WordPressでhttps化する方法
関連【mixhost】.htaccess編集で独自ドメインに常時SSLする方法

 

常時SSL化の.htaccessの記述例

下記は、常時SSLの設定の一例です。HTTPS通信でなければ、HTTPSにリダイレクト(転送)する設定をしています。

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

なお、ここでは.htaccessの具体的な書き方・正規表現などの解説については、専門的になるため割愛しています。

 

サイトの正規化(wwwありなしの統一)

wwwありなしの統一でも.htaccessでよく記述される場合があります。

■wwwありに統一

RewriteEngine on
RewriteCond %{HTTP_HOST} ^webst8\.com$
RewriteRule ^(.*)$ https://www.webst8.com/$1 [R=301,L]

 

■wwwなしに統一

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.webst8\.com$
RewriteRule ^(.*)$ https://webst8.com/$1 [R=301,L]

※実際には、%{HTTP_HOST}などの.htaccessであらかじめ用意されている変数名を利用して記述したり、常時SSLのリダイレクト設定と組み合わせて記述されることが多いです。ここでは簡単に記載しています。
 

リダイレクト(サイト・ページの移転時)

リダイレクトは、常時SSL化の時以外に、外部ドメイン含む別URLに転送する場合にも利用されます。

例えば運営サイトのドメインを新しいドメインに引っ越した際にも利用します。

旧ドメインから新ドメインにリダイレクトをかけることで、サイト訪問者が古いアドレスにアクセスしても自動的に新ドメインのサイトを閲覧できます。

また、301リダイレクト(恒久的なリダレクト)設定をすることで、検索エンジンにも旧ドメインの評価を新しいドメインにある程度引き継がせることが可能です。
 

リダイレクトを設定した場合

ドメイン移行時やURL変更時には.htaccessファイルにリダイレクト設定を記述し、新ドメインに転送することでユーザーが間違って古いサイトに行ってしまう機会損失を防ぐことができます

リダイレクトを設定した場合

 

リダイレクトを設定しない場合

もし旧ドメイン→新ドメインにリダイレクト設定をしていない場合、ユーザーが移行前のドメインにアクセスしても古いサイト内容が表示されったり、エラーページが表示されてしまいます。

リダイレクトを設定しない場合

 

リダイレクトは、自サイト→自サイト(例えば、前述の常時SSLや、URLのwwwあり・なしを統一する(URLの正規化)などにも利用されます。

 

リダイレクトの.htaccessの記述例

下記は、リダイレクトする際の.htaccessの記述例です。

新しいドメイン(webst8.com)に転送する例

Redirect permanent / https://webst8.com/

※大雑把な書き方をしています。実際の引っ越し元・引っ越し先のディレクトリ構成など、ここのケースによって書き方は変わるためご注意ください。

 

WordPressのプラグイン

WordPressをご利用の場合、リダイレクトのプラグインやSSL化のプラグインを利用して実現している場合もあります。

WordPressプラグインRedirection
https://ja.wordpress.org/plugins/redirection/
Really Simple SSL
https://ja.wordpress.org/plugins/really-simple-ssl/

 

IPアドレス制限

IPアドレス制限とは、接続元のIPアドレスを利用してアクセスを制限する機能のことを指します。

例えば社内マニュアルページのアクセスを自社のIPアドレスのみに制限し、それ以外のIPアドレスからのアクセスをブロックするなどの設定ができます。

IPアドレス制限を示した図

ほかにも、海外からのIPアドレスをブロックし、日本国内からのアクセスのみ許可するなど様々な使い方があります。

 

IPアドレス制限の.htaccessの記述例

特定のIPアドレスからのアクセスを許可

order deny,allow
deny from all
allow from IPアドレス
#いったんすべて拒否して特定IPを許可

特定のIPアドレスからのアクセスをブロック

order allow,deny
allow from all
deny from IPアドレス
#いったんすべて許可して特定IPを拒否

 

Basic認証(基本認証)

Basic認証とは下記画像のように、IDやパスワードの入力を求められ、入力しないとWebサイトまたはページの閲覧ができない認証方法のことを指します。

Basic認証がかかっているWebサイトのスクリーンショット

 

Basic認証を利用する場面は、先程説明したIPアドレス制限と同様に特定メンバーだけの閲覧用サイト・ページに利用したりされることとが多いです。

Basic認証を利用する場合、「.htaccess」ファイルの他にもう一つ、「.htpasswd」というファイルが必要になるので頭の片隅にでも置いておきましょう。

Basic認証をかけたWebサイト及びページは、基本的に検索結果に表示(インデックス)されないのも特徴です。

参考ロリポップ WebサイトのBasic認証・パスワード設定方法
参考さくらサーバー WebサイトのBasic認証・パスワード設定方法
参考ConoHa WING サイトにBasic認証・パスワード設定する方法
参考エックスサーバーWebサイトにBasic認証・パスワード設定方法
 

Basic認証の.htaccessの記述例

AuthUserfile /ルートディレクトリからのフルパス/.htpasswd
AuthGroupfile /dev/null
AuthName “Please enter your ID and password”
AuthType Basic
require valid-user

 

.htaccessの生成ツール

ここまで簡単な記述例をご紹介しましたが、最近では.htaccessでやりたいことを自動で生成してくれるツールもあります。
リダイレクトやBasic認証など位置から記載するのは難しい場合、ツールも利用してあげると便利です。
 

参考よく使うhtaccess作成(生成)
 

 

まとめ

まとめです。今回は、WordPressユーザー向けに「.htaccess」の意味や設置場所、および簡単な書き方を説明します。

「.htaccess」は、http→httpsへリダイレクト(転送)したり、特定IPからのアクセスを拒否したりといったWebサイトのアクセス制御を設定できるファイルです。

WordPressの場合.htaccessは基本的に、WordPressをインストールしたディレクトリ直下(wp-adminやwp-contentディレクトリと同じ階層)に配置されています。

FTPソフトを利用した.htaccessファイルの確認

 

インストール直後に.htaccessが該当の場所にない場合は、隠しファイルが見えない設定になっているかまだ生成されていないか(WordPressの設定>パーマリンクで何もせず保存すれば生成させる)ことが多いです。

今回は以上になります。最後までご覧いただきありがとうございました。
 

 

「業者に任せたけど、更新ができない」「本で独学は時間がかかりすぎる・・」そんなお悩みの方も多いのではないでしょうか。

個別指導形式のスクールでは、自分の知りたいことをピンポイントで学習・達成でき、自分で更新もできるというメリットもあります。

教室の無料事前相談もしておりますので、まずはお気軽にご登録ください。

詳細はこちら

YouTubeチャンネル開設しました!

WEBST8 YouTube Channel 開設
最大月間50万PVの当ブログをベースに、Youtube動画配信にてWordPress、ホームページ作成、ブログのことについてお役立ち情報を随時配信していきます。

ご興味ある方はぜひチャンネル登録をしていただけますと幸いです。


 


 

検索して記事を見つける

探したいキーワードを入力・検索して記事を見つけたい方はこちら

-WordPress