ヘッダ(header)は .htaccess からでも追加できます。
ただそのやり方、分かりにくいから少し苦労しました。
そこで同じように悩んでいる人のために、
.htaccess からヘッダ情報を追加する書き方について紹介します。
というか、未来の自分への覚え書きです。
このページの目次
1.まずは Apache でHeadersモジュールを追加しておく
大前提として Headers モジュールが必須
これがないと、ヘッダ関係の命令が一切書けないみたいなので必須です。
ちなみに Headers モジュールがない場合、次のエラーが出る模様
1 |
[core:alert] [pid 23522] [client 123.456.789.123:99999] /path/to/.htaccess: Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration, referer: https://example.com |
自分が借りてるサーバーの場合、デフォルトでHeadersモジュールが有効でなかったです。
なので次の手順でモジュールを有効にしてみました。
まず次のコマンドで Headers モジュールを有効化
1 |
# sudo a2enmod headers |
そのあと Apache を再起動
1 |
# sudo systemctl restart apache2 |
これでHeadersモジュールが使えるようになったはず
2..htaccessにヘッダ情報を追加する
Apache を使っている場合、.htaccess に次の内容を書けばOK
1 2 3 4 |
<IfModule mod_headers.c> # ヘッダーを追加する Header set hogehoge "1234567890" </IfModule> |
文法的には Header set [ヘッダ名] [その値] みたいに指定します。
サイト全体で必ず含めたいヘッダーがあるときに便利です。
補足 : サーバーの conf ファイルからも設定できる
たとえばSSH接続とかしてて、サーバーの設定を自分で変えられる場合・・・
サーバの conf ファイルにヘッダ情報を付加することもできます。
一応その手順も紹介しておくと次の通り(Ubuntuの場合)
まず vim とかで 000-default.conf を編集
1 |
sudo vim /etc/apache2/sites-available/000-default.conf |
この中でヘッダ情報を追加する。例えば次が書き方例
1 2 3 4 5 6 7 8 |
<Directory /var/www/html> Options -Indexes +FollowSymLinks AllowOverride all Require all granted # ヘッダー情報を追加 Header set hogehoge "1234567890" </Directory> |
編集したら :wq で保存、Apacheを再起動
1 |
sudo systemctl restart apache2 |
これで .htaccess と追加したときと同じように動きます。
ただUbuntuでの手順なので、
CentOSとかの他の環境だと
httpd.conf とかを編集してください。
.htaccessからヘッダ追加する手順まとめ
- まずHeadersモジュールを有効にする
もし有効でないなら sudo a2enmod headers を実行してApacheを再起動
- 普通に .htaccess からヘッダを追加する
例えば hogehoge という名前のヘッダを追加するなら Header set hogehoge "1234567890" みたいに書けばいい
以上、.htaccess からヘッダ情報を追加するやり方でした。それでは(^^)/~~~