.htaccessはどこ?見つからない原因と対処法

Webサイトの設定やリダイレクト処理を行う際に必要な.htaccessファイル。

でも、「ファイルが見つからない」「どこにあるのかわからない」といった場面に直面することがあります。
本記事では、.htaccessが見つからないときの原因と対処法を解説します。

目次

.htaccessは、ApacheWebサーバーで動作するディレクトリ単位の設定ファイルです。

Webサイトの設定を変更できる特別なファイルで、
URL書き換え、リダイレクト、アクセス制御、エラーページのカスタマイズなど、さまざまな設定が可能です。

1. 隠しファイルになっている

.htaccessはファイル名の先頭にドット(.)が付いているため、多くのOSでは隠しファイルとして扱われます。
これが見つからない最も一般的な原因です。

2. そもそも存在しない

新規にサーバーを契約した場合や、初期状態では.htaccessファイルが存在しないことがあります。必要に応じて自分で作成する必要があります。

3. 別のディレクトリに配置されている

.htaccessは配置したディレクトリとそのサブディレクトリに対して効果を発揮します。探している場所とは異なるディレクトリにある可能性があります。

まずは、隠れているファイルを表示させます。

FTPソフトをお使いの場合

サーバーにファイルをアップロードするソフト(FTPソフト)を使っている場合も、設定が必要です。

FileZillaの場合:

  1. メニューの「サーバー」をクリック
  2. 「強制的に隠しファイルを表示」にチェックを入れる

Cyberduckの場合:

  1. メニューの「表示」をクリック
  2. 「隠しファイルを表示」にチェックを入れる

これで、サーバー上の.htaccessファイルが見えるようになります。

WordPressでサイトを作っている場合、.htaccessファイルがまだ作られていないことがあります。

簡単な方法:

  1. WordPress管理画面にログインする
  2. 左側のメニューから「設定」をクリック
  3. 「パーマリンク」をクリック
  4. 何も変更せずに、一番下の「変更を保存」ボタンを押す

これで、WordPressが自動的に.htaccessファイルを作ってくれます。

WordPressを使っていない場合や、上の方法でもファイルができない場合は、自分で作ります。

パソコンで作る方法

手順:

  1. メモ帳やテキストエディタを開く
  2. 何も書かずに、「名前を付けて保存」を選ぶ
  3. ファイル名に .htaccess と入力
  4. 重要: 「ファイルの種類」を「すべてのファイル」に変更
  5. 保存する

Windowsのメモ帳を使う場合の注意点:

ファイル名を入力するときに、ダブルクォーテーション(”)で囲んでください。

".htaccess"

こうしないと、.htaccess.txtというファイル名になってしまい、正しく動きません。

サーバーの管理画面で作る方法

多くのレンタルサーバーには「ファイルマネージャー」という機能があります。

一般的な手順:

  1. サーバーの管理画面にログイン
  2. 「ファイルマネージャー」を開く
  3. 設定で「隠しファイルを表示」をオンにする
  4. 「新規ファイル作成」または「+新規」ボタンを押す
  5. ファイル名に .htaccess と入力
  6. 保存する

レンタルサーバーによって画面が違いますが、基本的な流れは同じです。

.htaccessファイルは、Webサイトのファイルが入っている一番上のフォルダに置きます。

一般的なWebサイトの場合

一般的なフォルダ名:

  • public_html
  • www
  • htdocs
  • サイトのドメイン名のフォルダ

このフォルダの中にindex.htmlindex.phpというファイルがあれば、そこが正しい場所です。

WordPressの場合

WordPressをインストールしたフォルダに置きます。

  • wp-config.php(WordPress設定ファイル)
  • wp-content(フォルダ)
  • wp-includes(フォルダ)

これらのファイル・フォルダと同じ階層.htaccessを置きます。

WordPressが自動生成した場合は、自動的に正しい場所に作られます。

よく使う設定を紹介します。

HTTPSに自動で切り替える

Webサイトを「https://」で表示させるための設定です。

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

古いページから新しいページに転送する

ページのURLを変更したときに、自動で新しいページに飛ばす設定です。

Redirect 301 /old-page.html /new-page.html

old-page.htmlを古いURL、new-page.htmlを新しいURLに書き換えてください。

index.htmlを最初に表示する

DirectoryIndex index.html

注意1:編集する前にバックアップを取る

.htaccessを間違って編集すると、サイト全体が見られなくなることがあります。必ず元のファイルをコピーして保存しておきます。

注意2:半角スペースに気をつける

コピー&ペーストするときに、余計なスペースが入らないように注意してください。

注意3:保存した後は必ず確認

編集したら、すぐにWebサイトを開いて、正しく表示されるか確認してください。

トラブルが起きたら

もしサイトが表示されなくなったら・・・

  1. 落ち着いて、バックアップした元のファイルに戻す
  2. または、.htaccessファイルを一時的に削除する
  3. サイトが復旧したら、もう一度ゆっくり設定する

.htaccessが見つからないときは、この順番で確認します。

ステップ1:隠しファイルを表示させる

  • Windows:フォルダの「表示」→「隠しファイル」にチェック
  • Mac:Command + Shift + . を押す
  • FTPソフトの設定で「隠しファイルを表示」する

ステップ2:それでも見つからなければ新規作成

  • WordPressを使っている場合:管理画面の「設定」→「パーマリンク」で保存ボタンを押す
  • それ以外の場合:メモ帳などで.htaccessという名前で保存
  • サーバーの管理画面からも作れる

ステップ3:置く場所を確認

  • public_htmlなどの一番上のフォルダに置く
  • WordPressを使っている場合:wp-config.phpwp-contentwp-includesと同じ階層

ステップ4:編集する前に必ずバックアップ

  • 元のファイルをコピーしておく

ステップ5:保存したら動作確認

  • サイトが正しく表示されるか確認する

もし、わからないことがあれば、使っているレンタルサーバーのサポートに問い合わせるのもおすすめです。

  • 自分でやってみたけれどうまくいかない
  • やりたいことはあるけど方法がわからない

そんなときはお気軽にご相談ください。
マンツーマンでサポートいたします。

目次