SSIで上位ディレクトリを呼び出す場合にはちょっと注意
2012-12-26 756 1926さくらインターネットの共有サーバーではhtaccessのルールが特殊で、結構悩まされる。安いサーバーに難があるのは仕方がないけど…。
既に拡張子が「html」で作成されたサイトで、後からSSIやPHPを使いたいという状況。これWEBの仕事してるとそこそこ出てくるよね?
URLを変えるのはSEO的にイヤだということで、拡張子はhtmlのままSSIやPHPを使用したいという時は、htaccessにちょいと書いてやるだけで実現します。
▼phpの場合が、しかし、さくらインターネットでPHPを拡張子htmlのままで使用するには上記の設定だけではエラーが起きて、ページが表示されなくなってしまうのである。
AddType application/x-httpd-php .htm .html
▼SSIの場合
AddHandler server-parsed html
「さくらインターネット php 拡張子 html」で検索すると解決策は出てくるが、PUTTYをインストしてあれこれしないといけないので、しんどい!
というわけでインクルードぐらいならSSIで十分なのでSSIを採用することに。設定は上記のhtaccessだけでOK。
早速、htmlファイルに下記を書いてみた。
<!--#include file="../inc_header.html" -->すると、↓エラー発生!!ゴフッッッ!!!
an error occurred while processing this directiveなんじゃこりゃ。と調べてみると、SSIでインクルードする場合、インクルード元のファイルが上位階層の場合は「include virtual」としなければいけないようだ。
<!--#include virtual="../inc_side_manu.html" -->これで解決!さくらインターネットで拡張子htmlのままインクルードしたいだけっていう時はSSIをオススメしておこう。
- 関連タグ:
- php
- htaccess
- 拡張子
- さくらインターネット