詳しい説明
何千ページもある Web サイトへの変更をできるだけ短時間で完了する方法について心配したことはありますか?次に、この記事の紹介文を読んでください。役立つかもしれません。
SSIとは何ですか?
SSIとは英語のServer Side includeの略で、中国語に訳すとサーバーサイドインクルージョンという意味です。技術的に言えば、SSI は、コメント行を通じて呼び出すことができる HTML ファイル内のコマンドまたはポインターです。 SSI には強力な機能があり、簡単な SSI コマンドで Web サイト全体のコンテンツを更新したり、時刻と日付を動的に表示したり、シェルや CGI スクリプト プログラムなどの複雑な機能を実行したりできます。 SSI は、資金が不足し、時間に余裕がなく、作業負荷が大きい Web サイト開発者にとって最適な助っ人であると言えます。
SSI はもともと NCSA サーバー プラットフォームで起動され、Apache サーバーで拡張および強化され、現在ではほぼすべてのサーバーで実行できるようになりました。この記事では主に、Apache サーバーをベースとした SSI の使用方法を紹介します。
SSI を開始するにはどうすればよいですか?
Apacheサーバーでは、サーバー構成ファイルを直接編集するか、SSIを使用する必要があるディレクトリに.htaccessファイルを作成することで、SSIを開始できます。具体的には、プロセスは次のとおりです。
1. サーバー構成ファイル
ユーザーがサーバー構成ファイルにアクセスできる場合、ファイル access.conf および srm.conf を編集することで SSI を開始できます。
まず、Telnetを使用してサーバーにリモートログインし、設定ファイルが保存されているディレクトリを見つけます。通常、Apache サーバーの設定ファイルは「/usr/local/etc/httpd/conf」ディレクトリに保存されます。任意のテキスト エディタを使用してファイル srm.conf を開き、次の行を見つけます:
# サーバー側インクルードまたは CGI を外部で使用する場合は、
# ScriptAliased ディレクトリで、次の行のコメントを解除します。
#AddType text/x-server- parsed-html .shtml
#AddType application/x-httpd-CGI .CGI
ユーザーの設定ファイルには上記のコメントコマンドラインが含まれていない可能性がありますが、AddType で始まる 2 行を見つけて各行の先頭を削除するだけです。 「#」記号で十分です。
変更を保存して、access.conf ファイルを開きます。ユーザーは、DocumentRoot (ルート ファイル) が設定されているファイル内のセクションを見つける必要があります。一般的には以下のようになりますが、
# これは、DocumentRoot に設定したものに変更する必要があります。
# これは、「なし」、「すべて」、または「インデックス」の任意の組み合わせにすることもできます。 ,
# "includes"、または "FollowSymLinks"
Options Indexes FollowSymLinks include
ユーザーがスクリプトまたはシェル コマンドを実行したくない場合は、キーワード includeNOEXEC をオプション行に追加して SSI を許可できます。ただし、CGI やスクリプトコマンドは実行できません。 (注: Apache サーバーの最新バージョンには、構成ファイル httpd.conf が 1 つだけあり、上記の内容はこのファイルに含まれています)
2. ファイル .htaccess を作成します
ユーザーがサーバーに直接アクセスできない場合構成ファイル。ファイル エディタを使用して .htaccess というファイルを作成できます。サーバーがファイルが隠しファイルであることを認識できるように、ファイル名の前に記号「.」が必要であることに注意してください。これにより、ファイルのセキュリティが向上し、誤った操作が回避されます。次の 3 行のテキストを .htaccess ファイルに追加する必要があります:
Options Indexes FollowSymLinks includes
AddType application/x-httpd-CGI .CGI
AddType text/x-server-parsed-html .shtml
完了後、.htaccess を追加できます。ファイルはサーバー上の対応するディレクトリにアップロードされ、ファイルはすべてのサブディレクトリに対して有効です。ユーザーがディレクトリ レベルで CGI またはシェル コマンドを禁止したい場合は、.htaccess ファイルのオプション行にキーワード includeNOEXEC を追加できます。
3. .shtml または .html を使用しますか?
SSI を含むファイルは、クライアントにダウンロードされる前にサーバーの解析プロセスを通過する必要があります。これによりサーバーの負荷はある程度増加しますが、ユーザーの Web サイトに毎日何百万人ものユーザーがアクセスする場合を除き、特定のサーバーのパフォーマンスが大幅に低下することはありません。ただし、すべてのページで SSI を使用する必要がない場合は、実際にはサーバーにすべてのページを解析させる必要はありません。ユーザーがいくつかの特別なページでのみ SSI を使用したい場合は、サーバーが SSI を含む .shtml ファイルのみを解析できるように、ファイル拡張子を .shtml に変更できます。一方、SSI を使用するページが複数あるが、ユーザーが .shtml サフィックスを使用したくない場合は、.htaccess ファイルで次のコマンド ラインを使用できます:
AddType text/x-server-parsed- html .html
SSI 構文
SSI は、使用時に次の形式に従います:
ここで、directive は、に送信されるコマンドの名前です。サーバー、パラメータはコマンド、値はユーザーが取得したい命令処理結果です。
すべての SSI コマンドは「」を付ける必要があります。
SSI コマンドには、次の 6 つのカテゴリの命令とそれぞれのパラメータが含まれます:
directives
parameters
Config
errmsg、timefmt、sizefmt
include
virtual、file
echo
var
fsize
ファイル
flastmod
file
exec
cmd, cgi
以下で一つずつ紹介していきます。
1.Configコマンド
Configコマンドは主にSSIのデフォルト設定を変更するために使用されます。その中には、
Errmsg: デフォルトのエラーメッセージを設定します。ユーザーが設定したエラー メッセージを正常に返すには、Errmsg パラメーターを HTML ファイル内の他の SSI コマンドの前に配置する必要があります。そうしないと、クライアントはユーザーが設定したカスタム メッセージではなく、デフォルトのエラー メッセージのみを表示できます。
Timefmt: 日付と時刻に使用される形式を定義します。Timefmt パラメータは、echo コマンドの前に使用する必要があります。
< !--#config timefmt="%A, %B %d, %Y"-->
表示される結果は次のとおりです:
2000 年 4 月 12 日水曜日
おそらく、ユーザーは上記の例で使用されている %A %B %d に慣れていないかもしれません。以下に、SSI でより一般的に使用される日付と時刻の形式をいくつか表形式でまとめます
。
形式
。 説明
例
%%
%
%a
1 週間の 7 日間の省略形
Thu
%A
1 週間の 7 日間の省略形
Tuesday
%b
月
Apr
%B
Month
April
%d
Day
13
%D
mm/dd/yy 日付形式
04/13/00
%H
時 (24-時時計、00 から 23 まで)
01
%I
時間 (12 時間時計、00 から 11 まで)
01
%j
年間の日、01 から 365 まで
104
%m
01 から 12 までの月
04
%M
00 から 59 までの 1 時間の分数
10
%p
AM または PM
AM
%r
現地時間12 時間形式。%I: %M:%S AM | PM
01:10:18 AM
%S
1 分間の秒数 (00 から 59
18
%T
) 24 時間制 %H:%M:% S 時間形式
01:10:18
%U
日曜日を各週の最初の日とする、00 から 52 までの 1 年の週数
15
%w
週の最初の日 日、0 から 6 まで
4
%W
月曜日を各週の最初の日とする、00 から 53 までの 1 年の週数
15
% y
年の省略形 (00 から 99 まで)
00
%Y
年を表すには 4 桁の数字を使用します
2000
%Z
タイムゾーン名
MDT
Sizefmt: ファイルサイズがバイト、キロバイト、またはメガバイトの単位で表されます。単位がバイトの場合、パラメータ値は「バイト」です。同様に、sizefmt パラメータを fsize コマンドの前に置く必要があります。 -#config sizefmt="bytes" -->