SSIを使用しようとすると、[an error occurred while processing this directive] という表示にぶち当たることがあります。ですが、この表示は、SSIの実行中にエラーが起きました、と言ってるだけで、原因については何ら示唆してくれていないのです。
ということで思い当たる項目を列記。
・サーバーでSSIの実行が許可されているかどうか
・SSIの実行に必要な条件は何か
(例、拡張子.shtml や .htaccessでの指定)
・ウェブサイトなどに表示されているソースをコピー&ペーストした関係で一部のコードが壊れていないか
・インクルードされるCGIの編集していて「;」「'」「"」「#」を消してしまったり、間違えてしまったりしている。
・表示部分を書き換える際に「"」などのエスケープを忘れている。
・CGIのファイルをバイナリモードで転送している
・パーミッションが間違っている
・ファイルの設置場所が間違っている
・呼び出し方法がサーバーによって有効なパターンが異なることがあるようです。
ファイル名のみで呼び出す。(同じディレクトリに置くことが前提)
相対パス(.を含む)で呼び出す。
相対パス(..を含む)で呼び出す。
仮想パスで呼び出す。
絶対パスで呼び出す。
引数付きで呼び出す。
CGI形式の引数付きで呼び出す。
また、一部のコマンドは、サーバー側の設定で無効になっていることがあります。
こんな所ですかね。
コメント (4)
読んでて泣きそうになった。
ごめん、ありがとう。
どうも、パスがクサイです。
投稿者: ogoh | 2004年09月28日 13:37
日時: 2004年09月28日 13:37
SSI なぞ使用していないのに[an error occurred while processing this directive] が表示されたため、放浪していてここにたどり着きました。
原因は、HTML内でのコメントにおいて、<!--#ほげほげ-->という記述があり、この#が悪さをしていたようです。
こちらの記事の文脈からどうやらSSIとやらを指示する場合に#を使うことがあると推測し、コメント内の*を消したところ、エラーメッセージの表示は消えてくれました。
助かりました、ありがとうございました。
投稿者: 匿名 | 2008年12月02日 06:55
日時: 2008年12月02日 06:55
この記事で救われました。
ありがとうございました!
投稿者: aimana | 2009年05月22日 11:21
日時: 2009年05月22日 11:21
テストアップ前にこのエラーが出て絶望を味わってたところでした。
本当に助かりました。
ありがとうございました!
投稿者: cordell | 2011年11月04日 21:45
日時: 2011年11月04日 21:45