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="エラー! [email protected] にメールしてください -->
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でアイコンをカスタマイズする手順

推薦する

フレックスレイアウトでコンテナ内のコンテンツを維持するためのソリューションの詳細な説明

モバイル側では、フレックスレイアウトが非常に便利です。デバイスの幅に応じてコンテナの幅を自動的に調整...

テーブルの作成、フィールドの追加、フィールドの変更、インデックスの追加によく使用される MySQL の SQL 文の概要

この記事では、テーブルの作成、フィールドの追加、フィールドの変更、インデックスの追加を行う一般的な ...

HTML テーブル マークアップ チュートリアル (29): セルのライト境界線の色属性 BORDERCOLORLIGHT

セルでは、明るい境界線の色を個別に定義できます。 > 基本構文<TD ボーダーカラーライ...

ウェブデザインの詳細分析に関する詳細な議論

設計業務では、設計者がレビューに参加したり、リーダーの一部が設計案の詳細が足りないと言っているのをよ...

JS でモバイルのインタラクティブ エクスペリエンスを向上させる方法

目次1. 即時フィードバック1.1 ボタンからの即時フィードバック1.2 継続的なフィードバック1....

ServerSocketのデフォルトIPバインディングの実装プロセスの詳細な説明

開発中にサーバーを起動する必要がある場合、ローカルテストではポートを直接書き込み、実際の環境ではバイ...

Keras を使って SQL インジェクション攻撃を判断する (例の説明)

この記事では、ディープラーニングフレームワーク keras を使用して、SQL インジェクションの特...

独自の FTP および SFTP サーバーを構築するプロセスの紹介

FTP と SFTP はファイル転送プロトコルとして広く使用されています。関連する機能を開発するには...

Web フロントエンドのパフォーマンス最適化の詳細説明: リソースのマージと圧縮

2つの目的のためのリソースの結合と圧縮httpリクエストの数を減らす要求されたリソースのサイズを縮小...

Vue モバイル プロジェクトでページ キャッシュを実装する方法のサンプル コード

背景モバイル デバイスでは、ページ ジャンプ間のキャッシュが必須要件です。例: ホームページ =&g...

Mysqlデータテーブルでワームレプリケーションを使用する方法

簡単に言えば、MySQL ワーム レプリケーションは、クエリされたデータを指定されたデータ テーブル...

シンプルなドラッグ効果を実現するJavaScript

この記事では、簡単なドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

クリックして展開し、全文を読む機能を実現する純粋なCSS

注記記事表示リストインターフェースを開発する場合、情報の基本的な概要を提供するために記事ヘッダーコン...

Linuxのbasenameコマンドの使い方

01. コマンドの概要basename - ファイル名からディレクトリとサフィックスを削除しますba...

vue2 vue3 での Echarts の詳細な使用方法

目次1. インストール2. vue2でEchartsを使用するmain.jsファイル内コンテナが与え...