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でアイコンをカスタマイズする手順

推薦する

Javascript実践におけるコマンドモードの詳しい説明

目次意味構造例カスタムショートカットキー元に戻すとやり直し録音と再生マクロ要約する意味リクエストをオ...

CSS レイアウト チュートリアル: 垂直方向の中央揃えを実現する方法

序文最近、フロントエンドの知識をまとめており、いくつかのインタビューにも参加しました。インタビュー中...

無効な Nginx クロスドメイン設定 Access-Control-Allow-Origin の解決策

nginx バージョン 1.11.3次の構成を使用すると、検証は無効になり、クロスドメインの問題が依...

CSS3 を使用して色付きのプログレスバーアニメーションを実装する例

簡単なチュートリアルこれは CSS3 カラー プログレス バー アニメーション効果です。 CSS3 ...

ElementUI の this.$notify.close() 呼び出しが機能しない問題の解決方法

目次要件の説明問題の説明問題分析問題解決質問の拡張要件の説明このプロジェクトでは、まずユーザーが質問...

CSS3 でテキストマーキーを実装するためのサンプルコード

背景何が起こったかというと、Luzhu は偶然、宇宙で最高の外部スピーカーを備えた携帯電話について知...

Navicat の MySQL へのリモート接続の実装手順の分析

序文皆さんはリモート サーバーで開発を行っており、MySQL の使用率はかなり高いはずです。コマンド...

画像をクリックして切り替えるJavaScript

クリックして画像を切り替えることは、日常生活で非常によく行われることです。今日の練習は、画像を切り替...

Vue+element+oss はフロントエンドのフラグメントアップロードとブレークポイント再開を実現します

純粋なフロントエンド実装:切片上傳斷點續傳。斷點續傳カットとアップロードに基づいて実装する必要があり...

Nginx プロセス管理とリロードの原則の詳細な説明

プロセス構造図Nginx はマルチプロセス構造です。マルチプロセス構造は、次のような Nginx の...

uniapp vue および nvue カルーセル コンポーネントのサンプル コード

vueの部分は以下のとおりです。 <テンプレート> <ビュークラス="&...

Dockerイメージの圧縮と最適化操作

Docker が今日非常に人気がある理由は、主にその軽量性、迅速な展開、およびリソースの利用にありま...

MYSQLの主キー制約とユニーク制約の違いについて簡単に説明します。

目次主キー制約ユニーク制約主キー制約PRIMARY KRY 主キーは一意です。テーブルには主キーを ...

Linux での rpm、yum、ソースコードの 3 つのインストール方法の詳細な紹介

第1章 ソースコードのインストールRPM パッケージは特定のシステムとプラットフォームに応じて指定さ...

データベースの冗長フィールドを合理的に使用する方法

privot は、多対多の関係の中間テーブルです。 PT5 フレームワークは自動的に privot ...