あるとおもうんです。
受託の制作をしててステージング環境とかない場合とか。
あるとおもうんです。
先方のサーバーがレンタルサーバーでApacheなことが。
あると思うんです。
自社の環境がAWSでLightsailって1ヶ月無料だしここでプレビューしちゃえばよくね?ってことが。
普通にやってたら特に何にも気にすることなく進行できると思うんですけど、
あるとおもうんです。
SSIインクルードしてるHTMLがあることが!!
同じ境遇の方の一助になればという思いで残しておきます。
まず調べたこと
SSIがhtmlで動くようにするっていうのをググると大抵.htaccessに書く〜とかhttpd.confに書く〜というのがヒットするかと思います。
しかしLightsailなどのキーワードを入れると全くと言っていいほどヒットしない。
(キーワード選定がおかしいのかもしれない)
.htaccessに書いてもうんともすんともしない。
これはhttpd.confで設定しないと動かなそうだな〜とあたりをつけて設定を書いては再起動を繰り返しました。
持つべきものは同僚だな!
しかしなかなか動かないのでslackで「LightsailでSSIが動かない・・・。」とチャットしたら
「SSIは脆弱性になりうるんで、デフォルトで使えないようになってたりしそうっすね。そもそもモジュールが入ってなかったりして。」と返信がきた。
ん?神か?
httpd.confの設定と.htaccessの記述
httpd.confを覗いてみたらモジュールがコメントアウトされていたので
105行目あたりのコメントを外して再起動!
- #LoadModule include_module modules/mod_include.so
+ LoadModule include_module modules/mod_include.so
あとは.htaccessにこんな感じで書いたらインクルードできると思います。
Options +Includes
AddHandler server-parsed .html
おまけ
LightsailはBitnamiなので、httpd.confの他にも
/opt/bitnami/apache2/conf/ssi.conf
/opt/bitnami/apache2/conf/bitnami/bitnami.conf
と設定ファイルがあります。
SSIインクルード以外の機能は試してないですが、これらのファイルで設定すれば動くようになるかもしれません。
さいごに
SSIのセキュリティに関しては詳しくはないですがあまりよろしくないと思うので、
タスクランナーなどで静的にHTMLに書き出しできないかなど検討をしてみてください。
それと持つべきものは同僚だな!