IIS 7.5では、HTMLはSHTMLのようなinclude関数(モジュールマッピングの追加)をサポートします。

IIS 7.5では、HTMLはSHTMLのようなinclude関数(モジュールマッピングの追加)をサポートします。

最初はたくさんのエラーを見つけましたが、実際には非常に簡単です。shtm の元の設定を参照するだけです。

前提条件:

ServerSideIncludeModuleのインストール:

IIS をインストールするときに、次のようにサービス (「サーバー上のファイルを含める」オプション) を選択します。

1: 処理マッパー

モジュール マッピング要求パス *.html を追加します。モジュールは ServerSideIncludeModule を選択し、名前を入力します: SSINC-html

2: IISを再起動する

cmdにiisreset /restartと入力します

詳細な手順は次のとおりです。

1. まず、フォルダではなく、変更したいウェブサイトを見つけ、右側のハンドラーマッピングを見つけてダブルクリックして入力します。

2. 次の3つを見つけてください

これら 3 つは stm、shtm、shtml です。すべて同じ効果がありますが、サフィックスが異なります。開いて確認してみましょう。

3. *.shtm を使用して開くと、モジュール マッピングによって実装されていることがわかります。これにより、後で追加するときに便利になります。他の .do ファイルは、php と同じように実行できます。すべて同じです。元のマッピング方法を参照してください。

4.コピーを追加します

ここで、*.html は shtm をサポートしています。右側に追加されたモジュール マッピングが表示されます。

5. パラメータは以下のとおりです

*.html

ドロップダウンからServerSideIncludeModuleを選択します

6. 自分が認識しやすい名前を書くことができます。

7. 同様に、*.htmも同じように設定できます。

shtmの使い方を皆さんに紹介したいと思います

shtml は SSI テクノロジーに使用されるファイルです。 これは Server Side Include (SSI サーバー側インクルード ディレクティブ) です。 一部の Web サーバーには SSI 機能があります。 shtml ファイルは特別に扱われます。 まず、shtml ファイルをスキャンして、特別な SSI 命令があるかどうかを確認します。 ある場合、SSI 命令は Web サーバーの設定ルールに従って解釈されます。 説明後は、一般のHTMLと一緒にクライアントに転送されます。

1. 設定コマンド

Config コマンドは主に SSI のデフォルト設定を変更するために使用されます。で:
Errmsg: デフォルトのエラー メッセージを設定します。ユーザーが設定したエラー メッセージを正常に返すには、HTML ファイル内の他の SSI コマンドの前に Errmsg パラメータを配置する必要があります。そうしないと、クライアントはユーザーが設定したカスタム メッセージではなく、デフォルトのエラー メッセージのみを表示できます。
<!--#config errmsg="エラー! ben@fmben.com にメールしてください -->
Timefmt: 日付と時刻に使用する形式を定義します。 echo コマンドの前に timefmt パラメータを使用する必要があります。
<!--#config timefmt="%A, %B %d, %Y"-->
<!--#echo var="最終変更日" -->

結果は次のとおりです。

2019年4月12日水曜日

おそらく、ユーザーは上記の例で使用されている %A %B %d に馴染みがないかもしれません。以下に、SSI でよく使用される日付と時刻の形式の一部を表の形式でまとめます。

Sizefmt : ファイル サイズをバイト、キロバイト、メガバイトのいずれで表すかを決定します。バイトが指定されている場合、値は「バイト」です。キロバイトとメガバイトの略語を使用できます。同様に、sizefmt パラメータを使用するには、fsize コマンドの前に配置する必要があります。

<!--#config sizefmt="バイト" -->
<!--#fsize ファイル="index.html" -->

2. コマンドを含める

Include コマンドを使用すると、現在解析中のドキュメントに他のドキュメントのテキストまたは画像を挿入できます。これが SSI 全体のキーとなります。 Include コマンドを使用すると、1 つのファイルを変更するだけでサイト全体を即座に更新できます。

Include コマンドには 2 つの異なるパラメーターがあります。
仮想: サーバー上のドキュメントへの仮想パスを指定します。例えば:

<!--#include virtual="/includes/header.html" -->

ファイル: 現在のディレクトリからの相対パスを指定します。「../」または絶対パスは使用できません。例えば:
<!--#include ファイル="header.html" -->
これには、各ディレクトリに header.html ファイルが含まれている必要があります。

3. エコーコマンド

echo コマンドは次の環境変数を表示できます。

DOCUMENT_NAME : 現在のドキュメントの名前を表示します。

<!--#echo var="ドキュメント名" -->

結果は次のとおりです。
インデックス.html

DOCUMENT_URI : 現在のドキュメントの仮想パスを表示します。例えば:

<!--#echo var="DOCUMENT_URI" -->

結果は次のとおりです。

/あなたのディレクトリ/あなたのファイル名.html

ウェブサイトが成長し続けると、URL がどんどん長くなり、間違いなく頭痛の種になります。 SSIを使えば全て解決します。ウェブサイトのドメイン名と SSI コマンドを組み合わせて完全な URL を表示できるため、次のようになります。

http://YourDomain<!--#echo var="DOCUMENT_URI" -->

QUERY_STRING_UNESCAPED: クライアントから送信されたクエリ文字列をエスケープせずに表示します。すべての特殊文字の前にはエスケープ文字「\」が付きます。例えば:

<!--#echo var="QUERY_STRING_UNESCAPED" -->

DATE_LOCAL : サーバーの設定されたタイムゾーンで日付と時刻を表示します。ユーザーは、config コマンドの timefmt パラメータを組み合わせることで出力情報をカスタマイズできます。例えば:

<!--#config timefmt="%A、%Y 年 %B の %d" -->
<!--#echo var="DATE_LOCAL" -->

結果は次のとおりです。

2019年4月15日土曜日
DATE_GMT: 返される日付がグリニッジ標準時に基づく点を除いて、DATE_LOCAL と同じ機能です。例えば:

<!--#echo var="DATE_GMT" -->

LAST_MODIFIED: 現在のドキュメントの最終更新時刻を表示します。これも SSI の非常に便利な機能です。次の簡単なテキスト行を HTML ドキュメントに追加するだけで、ページに更新時刻が動的に表示されます。

<!--#echo var="最終変更日" -->

CGI 環境変数

SSI 環境変数に加えて、echo コマンドは次の CGI 環境変数も表示できます。

SERVER_SOFTWARE: サーバー ソフトウェアの名前とバージョンを表示します。例えば:
<!--#echo var="SERVER_SOFTWARE" -->
SERVER_NAME: サーバーのホスト名、DNS エイリアス、または IP アドレスを表示します。例えば:
<!--#echo var="サーバー名" -->
SERVER_PROTOCOL: HTTP/1.0 など、クライアント要求で使用されるプロトコル名とバージョンを表示します。例えば:
<!--#echo var="SERVER_PROTOCOL" -->
SERVER_PORT : サーバーの応答ポートを表示します。例えば:
<!--#echo var="SERVER_PORT" -->
REQUEST_METHOD: GET、HEAD、POST など、クライアントのドキュメント要求メソッドを表示します。例えば:
<!--#echo var="REQUEST_METHOD" -->
REMOTE_HOST : 要求情報を発行したクライアントホストの名前を表示します。
<!--#echo var="REMOTE_HOST" -->
REMOTE_ADDR: 要求情報を発行したクライアントの IP アドレスを表示します。
<!--#echo var="REMOTE_ADDR" -->
AUTH_TYPE : ユーザーの認証方法を表示します。
<!--#echo var="AUTH_TYPE" -->
REMOTE_USER: 保護されたページにアクセスするユーザーが使用するアカウント名を表示します。
<!--#echo var="REMOTE_USER" -->

4. Fsize : 指定したファイルのサイズを表示します。config コマンドの sizefmt パラメータと組み合わせることで出力形式をカスタマイズできます。

<!--#fsize ファイル="index_working.html" -->

5. Flastmod : 指定されたファイルの最終変更日を表示します。出力形式は、config コマンドの timefmt パラメータと組み合わせて制御できます。

<!--#config timefmt="%A、%Y 年 %B の %d" -->
<!--#flastmod ファイル="file.html" -->

ここでは、flastmod パラメータを使用して、ページ上のすべてのリンクされたページの更新日を表示できます。方法は次のとおりです。

<!--#config timefmt="%B %d, %Y" -->
<A href="/directory/file.html" rel="external nofollow" >ファイル</A>
<!--#flastmod virtual="/directory/file.html" -->
<A href="/another_directory/another_file.html" rel="external nofollow" >別のファイル</A>
<!--#flastmod virtual="/別のディレクトリ/別のファイル.html" -->

結果は次のとおりです。
ファイル 2019年4月19日
もう一つのファイル 2019年1月8日

6. 実行

Exec コマンドは、CGI スクリプトまたはシェル コマンドを実行できます。使い方は次のとおりです:
Cmd: 指定された文字列を実行するには、/bin/sh を使用します。 SSI で IncludesNOEXEC オプションを使用すると、このコマンドはブロックされます。
Cgi: CGI スクリプトを実行するために使用できます。たとえば、次の例では、サーバーの cgi-bin ディレクトリにある counter.pl スクリプトを使用して、各ページにカウンターを配置します。

<!--#exec cgi="/cgi-bin/counter.pl" -->

今回ご紹介させていただきましたが、とても簡単ですね。

<<:  MySQL 8.0.17 をインストールしてリモート アクセスを構成する方法

>>:  Vueでアイコンをカスタマイズする手順

推薦する

CSS トランジションを使用した円形ホバー効果のサンプルコード

この記事では ソースコードのオンラインプレビューとダウンロード今日のチュートリアルでは、円のホバー効...

MySQL 5.7 のユニオンオール使用法のブラックテクノロジーを 5 分で学ぶ

MySQL 5.6 での union all のパフォーマンスパート 1:MySQL 5.6.25 ...

要素のフォームコンポーネントに関する注意事項

要素フォームとコード表示詳細はエレメントフォーム公式サイトをご覧ください構造と機能の分析紹介とソース...

IE 8/Chrome/Firefox と互換性のあるコメント返信ポップアップマスク効果実装アイデア

平日はニュースに注目して、テンセントをよく閲覧しています。しかし、コメントへの返信はほとんど見られま...

UbuntuにCMakeをインストールするいくつかの方法の詳細な説明

CMakeをインストール sudo apt をインストール cmake この方法はインストールが簡単...

Ubuntu に MySQL 5.7 をインストールし、データ ストレージ パスを構成する方法

1. MySQLをインストールするこの記事はAPT経由でインストールされており、インストールされてい...

Linux ドライバ開発でよく使われる関数 copy_from_user open read write の詳細な説明

目次Linux ドライバーの共通機能 (copy_from_user open read write...

MySQL マスタースレーブレプリケーションの原理からインストールと設定までを包括的に解説します。

マスタースレーブレプリケーションがなぜ必要なのでしょうか? 1. 複雑な業務システムでは、SQL 文...

JavaScript 構造化代入の詳細な説明

目次コンセプト配列の分割値を個別に宣言して割り当てるデフォルト値の構造化解除変数値の交換関数によって...

MySQL でシンプルな検索エンジンを実装するためのサンプルコード

目次序文導入ngram全文パーサー全文インデックスを作成する検索方法1. 自然言語検索(自然言語モー...

WeChatミニプログラムページとコンポーネント間の情報伝達と機能呼び出し

今回は、私自身の開発経験を踏まえて、以下の観点で関連内容を解説します。ページからコンポーネントにデー...

MySQL スライディング集計/年初来集計の原理と使用例の分析

この記事では、例を使用して、MySQL スライディング集計/年初来集計の原理と使用方法を説明します。...

React+Ant Design開発環境をセットアップするための実装手順

基礎1. スキャフォールディングを使用してプロジェクトを作成し、開始する1.1 足場を設置する: n...

Windows での MySQL データベースのマスター/スレーブ構成チュートリアル

WindowsでMySQLデータベースのマスターとスレーブを構成する詳細なプロセスは次のとおりです。...

Linux プラットフォームでの Zabbix エージェントのインストールと設定方法

ここでは、Linux プラットフォームでの Zabbix エージェントのインストールと構成について簡...