.htaccessでヘッダ追加するのに苦労したので覚え書き

ヘッダ(header)は .htaccess からでも追加できます。

ただそのやり方、分かりにくいから少し苦労しました。

そこで同じように悩んでいる人のために、
.htaccess からヘッダ情報を追加する書き方について紹介します

というか、未来の自分への覚え書きです。

1.まずは Apache でHeadersモジュールを追加しておく

大前提として Headers モジュールが必須

これがないと、ヘッダ関係の命令が一切書けないみたいなので必須です。

ちなみに Headers モジュールがない場合、次のエラーが出る模様

自分が借りてるサーバーの場合、デフォルトでHeadersモジュールが有効でなかったです。

なので次の手順でモジュールを有効にしてみました。

 

まず次のコマンドで Headers モジュールを有効化

そのあと Apache を再起動

これでHeadersモジュールが使えるようになったはず

2..htaccessにヘッダ情報を追加する

Apache を使っている場合、.htaccess に次の内容を書けばOK

文法的には Header set [ヘッダ名] [その値]  みたいに指定します。

サイト全体で必ず含めたいヘッダーがあるときに便利です。

補足 : サーバーの conf ファイルからも設定できる

たとえばSSH接続とかしてて、サーバーの設定を自分で変えられる場合・・・

サーバの conf ファイルにヘッダ情報を付加することもできます。

一応その手順も紹介しておくと次の通り(Ubuntuの場合)

 

まず vim とかで 000-default.conf  を編集

この中でヘッダ情報を追加する。例えば次が書き方例

編集したら :wq  で保存、Apacheを再起動

これで .htaccess と追加したときと同じように動きます。

ただUbuntuでの手順なので、
CentOSとかの他の環境だと httpd.conf  とかを編集してください。

.htaccessからヘッダ追加する手順まとめ

  1. まずHeadersモジュールを有効にする
    もし有効でないなら sudo a2enmod headers  を実行してApacheを再起動
  2. 普通に .htaccess からヘッダを追加する
    例えば hogehoge という名前のヘッダを追加するなら Header set hogehoge "1234567890"  みたいに書けばいい

以上、.htaccess からヘッダ情報を追加するやり方でした。それでは(^^)/~~~