IIS5またはIIS6で、SSIを使用しようと思います。

設定は完了し、以下のようなインクルードは問題無く動作します。
<!--#include file="xxxxx" -->

しかし、以下のような分岐は動作しません。
<!--#if expr="$HTTP_ACCEPT_LANGUAGE = ja" -->
こんにちわ。
<!--#else -->
Hello!!
<!--#endif -->

エラーがでるわけでもなく、ブラウザー上では、「こんにちわ。Hello!」だけが表示され、ソースは上記のままです。

IISでは、if exprが使用できないのでしょうか?
できるとしたら、他に代替え方法がありましたらお教えいただけたら幸いです。

回答の条件
  • 1人2回まで
  • 登録:2006/07/07 06:58:02
  • 終了:2006/07/09 11:37:45

ベストアンサー

id:kidd-number5 No.1

kidd-number5回答回数117ベストアンサー獲得回数152006/07/07 12:10:36

ポイント60pt

http://www.microsoft.com/JAPAN/developer/library/jpiis/core/iisi...

リファレンスに載っている限りではifが使えないようです。

代替案としてはexec(http://www.microsoft.com/JAPAN/developer/library/jpiis/core/iisi...)を使って、同様の分岐を行うためのスクリプトを実行するしかないでしょう。

PerlでCGIを書いたり、ASPを書いたりすれば良いと思います。

ASPの例を挙げます。

呼び出し元でSSIで以下

<!--#exec cgi="sample.asp"-->

sample.asp

<%
Dim accept_language
accept_language = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
If accept_language = "ja"
%>
<!-- jaのときに書きたい内容 -->
<%
Else
%>
<!-- jaではないときに書きたい内容 -->
<%
End If
%>
id:frankblack

例まであげていただき、有り難うございます。

とても解りやすく参考になりました。

2006/07/07 22:56:06

その他の回答(1件)

id:kidd-number5 No.1

kidd-number5回答回数117ベストアンサー獲得回数152006/07/07 12:10:36ここでベストアンサー

ポイント60pt

http://www.microsoft.com/JAPAN/developer/library/jpiis/core/iisi...

リファレンスに載っている限りではifが使えないようです。

代替案としてはexec(http://www.microsoft.com/JAPAN/developer/library/jpiis/core/iisi...)を使って、同様の分岐を行うためのスクリプトを実行するしかないでしょう。

PerlでCGIを書いたり、ASPを書いたりすれば良いと思います。

ASPの例を挙げます。

呼び出し元でSSIで以下

<!--#exec cgi="sample.asp"-->

sample.asp

<%
Dim accept_language
accept_language = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
If accept_language = "ja"
%>
<!-- jaのときに書きたい内容 -->
<%
Else
%>
<!-- jaではないときに書きたい内容 -->
<%
End If
%>
id:frankblack

例まであげていただき、有り難うございます。

とても解りやすく参考になりました。

2006/07/07 22:56:06
id:ohmix1 No.2

ohmix1回答回数235ベストアンサー獲得回数142006/07/07 12:29:05

ポイント10pt

使えるのは、以下のディレクティブだけみたいです。ASP使えということでしょう。

  • 「#config」では、クライアント ブラウザに返されるエラー メッセージ、日付、およびファイル サイズの形式を指定します。
  • 「#echo」では、環境変数の値を HTML ページに挿入します。
  • 「#exec」では、アプリケーションまたはシェル コマンドを実行し、その結果を HTML ページに挿入します。
  • 「#flastmod」では、ファイルの修正時刻を HTML ページに挿入します。
  • 「#fsize」では、ファイル サイズを HTML ページに挿入します。
  • 「#include」では、ファイルを HTML ページまたは ASP ページにインクルードします。


http://www.microsoft.com/windows2000/ja/server/iis/default.asp?u...

↑の「サーバー側インクルード リファレンス」を参照。

id:frankblack

ありがとうございます。

2006/07/07 22:55:45

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません