2009-08-28 2 views
2

次のコードでは、ポート名またはサーバー名の両方を表示する必要がありません。SSIコマンドが機能しないのは、iisのshtmlファイル用です。

私はいつも両方とも得ますか?

<!--#if expr="${SERVER_PORT} = 80" --> 
<!--#echo var="SERVER_PORT"--> 
<!--#else --> 
<!--#echo var="SERVER_NAME"--> 
<!--#endif --> 

ノー喜びのいずれかで次のようにも試してみました:私はこの作業を取得するにはどうすればよい

<!--#if expr="${SERVER_PORT} = '80'" --> 
<!--#if expr="${SERVER_PORT} = /80/" --> 

+0

は6またはIIS 7のIIS? – Kev

+0

私のIISとして5.1を使用しています。 –

答えて

4

あなたはサーバー側が許可されている含まれているIIS 6チェックを使用している場合:

  1. 起動IISのMMC
  2. サーバーサイド 可されている含まれているツリーを選択し、Webサービス 拡張
  3. チェックを展開

そうであれば、WebサイトのプロパティでSSIスクリプトマップが有効になっていることを確認してください:

  1. 起動IISのMMC
  2. に右サイト
  3. をクリックし、[プロパティ
  4. [ホームディレクトリ]タブ
  5. クリックして設定
  6. 拡張.shtm, shtml and .stmC:\WINDOWS\system32\inetsrv\ssinc.dll にマッピングされ、動詞が設定されていることをされていることを確認しGET およびPOSTになります。

更新日:

IISは#if/#else/#endif構築物または#setをサポートしていません。 6.0のサーバー側がディレクティブを含めるIISはここに記載されています:

IIS Server-Side Include Directives (MSDN Library)

これらは、IIS 5.1で使用したものと同じで、すべての意図や目的のためのものです。あなたは、彼らが有効になっていることを確認するために、ホスティング事業者/管理者に確認してくださいかかわら

あなたが使用しようとしているディレクティブは、Apacheの上でサポートされています。詳細情報については以下を参照してください

Apache Tutorial: Introduction to Server Side Includes

+0

こんにちは、はい、すべて設定されていると、より複雑な特定のコマンドを使用しているように... <! - #echo var = "REMOTE_ADDR" - > はうまく動作し、127.0.0.1を表示します唯一の特定のコマンドは、次のdoesntの仕事 も動作しません。<! - #セットVAR =「タイトル」値=「テスト変数」 - > <! - #echo var = "title" - > この結果、変数 'title'は見つかりませんでした。ありがとうございました –

+0

ありがとうございました。ああ、それはanssers thats !!! 多くのありがとうKev。 –

+0

***このページは私が開発したもので、Apacheから提供されることが多いですが、私はこれらのコマンドがiisから提供されていないときに動作すると推測していますか? –

関連する問題