プログラム

さくらのVPS:一覧ページ(Index of) の非表示

さくらのVPS では、ブラウザーでサーバー内にアクセスした際、そこにindex.html などがないと、ディレクトリ内が一覧ページ(Index of)として表示されます。

  • ディレクトリ内の、ファイル名やディレクトリ名が、一覧できてしまう

 

ディレクトリ内の様子が、誰からも見れるのは避けたいので、これを非表示にしました。

  • さくらのVPS では、「一覧ページ:表示」が初期設定
  • 「一覧ページ:表示」 → 「一覧ページ:非表示

 

 

やりたいこと

ドキュメントルートにある、test ディレクトリ以下を、「一覧ページ:非表示」にする

例えば、ドキュメントルートが、/var/www/html であれば、

  • /var/www/html/test 内を、「一覧ページ:非表示」にする

 

そうすると、ブラウザーで直接 test にアクセスしても、一覧ページが表示されません。

  • http://xxxyyyzzzz.sakura.ne.jp/test

【注】xxxyyyzzzzz は、適宜、各自のhostname に読み替えてください。

 

そのためには、以下の順番で設定変更します。

  1. /var/www/html/test/ に、ファイル(.htaccess)を作成もしくは修正
  2. ファイル(/etc/httpd/conf/httpd.conf)を修正
  3. Apache 再起動

 

 

.htaccess 作成

 

先ずは、test ディレクトリ内に、.htaccess ファイルを作成します。

  • /var/www/html/test/.htaccess

 

そして、.htaccess ファイルに、以下の1行を記述し保存します。

Options -Indexes

 

 

もし既に、その場所に、.htaccess ファイルがあった場合は、上記の1行をファイルの最後に追加します。

 

 

 

 

httpd.conf 修正

次に、/etc/httpd/conf/httpd.conf ファイルを修正します。

ファイルの最後に、以下の4行を、追加します(3行目はコメントアウトしてます)。

<Directory "/var/www/html/test">
    AllowOverride All
#   AccessFileName .htaccess
</Directory>

3行目、AccessFileName のデフォルト値は、.htaccess です。

そのため、AccessFileName を、.htaccess にしたい場合は、3行目は省略可です。

逆に、AccessFileName を、.htaccess にしたい場合に、3行目があると再起動時にエラーとなります。

 

 

Apache 再起動

Apache を再起動すると、/var/www/html/test 以下が、「一覧ページ:非表示」になっています。

# systemctl restart httpd

 

 

 

【参考】

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です