.htaccess ファイル設定で Web 公開ディレクトリを変更する方法

Apache の .htaccess ファイルを使って、現在の公開ディレクトリ内に新しいサブディレクトリを作り、そのサブディレクトリを公開ディレクトリとして扱う設定方法をまとめます。

約2分で読めます

現在の公開ディレクトリ内に新たなフォルダを作成し、.htaccess ファイルの設定で、そのディレクトリを公開ディレクトリとして扱う方法をまとめます。

.htaccess ファイルとは

設定を記述したテキストファイルを .htaccess というファイル名で作成し、ウェブサーバーにアップロードすることで、サーバーの振る舞いを変更・調整することができます。

.htaccess ファイルは、ウェブサーバー Apache 環境の設定ファイルです。本記事の内容は Apache 環境向けになりますので注意してください。

また、サーバー契約状況によっては、.htaccess ファイルによるサーバー設定の変更が許可されていない場合もあります。

設定作業

構成:変更前 〜 変更後

ウェブサーバーの環境が、以下のような構成で整っていると仮定します。

変更前

  • ウェブサイトの URL: http://example.com/
  • サーバー上のディレクトリ(公開ディレクトリ): /web/

これを、以下のような構成に変更します。

変更後

  • ウェブサイトの URL: http://example.com/
  • サーバー上のディレクトリ(公開ディレクトリ): /web/version1/

公開ディレクトリの中に新たに version1 というフォルダを作成し、この version1 ディレクトリを公開ディレクトリとして扱うよう設定を行います。

.htaccess ファイルの作成

.htaccess というファイル名でテキストファイルを作成し、以下のように記述します。

RewriteEngine on
RewriteCond %{REQUEST_URI} !/version1
RewriteRule ^(.*)$ version1/$1 [L]

※最終行に改行が必要です。

ファイルを、もともとの公開ディレクトリ直下にアップロードします。

/web/.htaccess

設定が正しく反映されれば、http://example.com/ にアクセスした際に /web/version1/ の中のコンテンツが表示されるはずです。

もしディレクトリ名を version2 にしたい場合は、次のようになります。

RewriteEngine on
RewriteCond %{REQUEST_URI} !/version2
RewriteRule ^(.*)$ version2/$1 [L]

※こちらも最終行に改行が必要です。

.htaccess ファイル作成時の注意点

  • .(ドット)から始まるファイルを作成するのが難しい場合は、いったん htaccess.txt といったファイル名で作成し、サーバーにアップロード後にファイル名を .htaccess に変更するとよいです
  • 最終行に改行が必要です

この記事がよかったら、
スキやシェアで応援してもらえると励みになります。

Kenichi Iida

この記事を書いた人

Kenichi Iida

フリーランスのエンジニア・デザイナー。谷中の築50年の1LDKに住んでいます。気になるモノや日々のことを書いています。