検索
ホームページphp教程php手册Z-Blog サイト全体の分類ラベルの静的ソリューション

Z-Blog は現在、ホームページと記事ページの静的化を実装しており、HTML ファイルを生成できますが、システムの分類ページ、タグ ページ、アーカイブ ページ、および著者ページは静的化されていません。この記事では、非常に簡単な解決策について説明します。カテゴリ ページ、アーカイブ ページ、タグごとに静的 HTML ページを自動的に生成できるため、ユーザーは ASP をサポートしていない Apache などのホストに Web サイトを移行できます。

Z-Blog のカテゴリ ページ、タグ ページ、アーカイブ ページ、および作成者ページはすべて、catalog.asp ファイルを呼び出します。そのため、このファイルが変更されると、ユーザーがこのファイルを呼び出すと、そのページの HTML ファイルが自動的に生成されます。訪問者が特定の時間範囲内でこのファイルを繰り返し読む場合は、ファイルの先頭で静的ファイルを直接使用してシステム リソースを節約できます。

具体的な変更方法は、まずルートの下にディレクトリ cat を作成し、次にエディタを使用して Z-Blog ルート ディレクトリにあるcatalog.asp ファイルを開き、ファイルの先頭に次のコードを追加します。

薄暗いobjFSO

Dim objFile
Dim strFileName
Dim strFileTime
Dim isBuildFile
if Request.QueryString("cate")"" then
if Request.QueryString("page")""then
strFileName = "cate" + "_" + Request.QueryString("cate") + "_" + Request.QueryString("page") +".html"
それ以外
strFileName = "cate" + "_" + Request.QueryString("cate") + ".html"

の場合は終了 elseif Request.QueryString("tags")"" then
if Request.QueryString("page")""then
strFileName = "タグ" + "_" + Request.QueryString("タグ") + "_" + Request.QueryString("ページ") +".html"
それ以外
strFileName = "タグ" + "_" + Request.QueryString("タグ") + ".html"

の場合は終了 elseif Request.QueryString("auth")"" then
if Request.QueryString("page")""then
strFileName = "auth" + "_" + Request.QueryString("auth") + "_" + Request.QueryString("page") +".html"
それ以外
strFileName = "auth" + "_" + Request.QueryString("auth") + ".html"

の場合は終了 elseif Request.QueryString("date")"" then
if Request.QueryString("page")""then
strFileName = "日付" + "_" + Request.QueryString("日付") + "_" + Request.QueryString("ページ") +".html"
それ以外
strFileName = "日付" + "_" + Request.QueryString("日付") + ".html"

の場合は終了 elseif Request.QueryString("page")"" then
strFileName = "デフォルト" + "_" + Request.QueryString("ページ") +".html"
それ以外
strFileName = "default_1" + ".html"
終了 If
isBuildFile = False
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(Server.MapPath(strFileName)) then
Set objFile = objFSO.GetFile(Server.MapPath(strFileName))
strFileTime = objFile.DateLastModified
objFile = Nothing を設定します
If datediff("h",strFileTime,Now()) > 1 then
isBuildFile = True
それ以外の場合
Server.Transfer strFileName
応答.終了

の場合は終了 それ以外の場合
isBuildFile = True

の場合は終了 objFSO = なしを設定

Response.Write ArtList.html 行を見つけて、その後ろに次のコードを追加します:

isBuildFile の場合

ArtList.FileName=strFileName
ArtList.Directory="猫"
ArtList.Save

の場合は終了

このようにして、システムはすべての動的ページに対して静的 HTML ファイルを自動的に生成し、この期間中に呼び出しがあった場合、静的 HTML ファイルはシステム リソースを節約するために自動的にロードされます。

この処理の後、Z-Blog のすべてのカテゴリとタグが静的 HTML ページを生成できるようになります。

静的化後、Z-Blog サイト全体を PHP+Apache ホストに配置できます。具体的な方法は、PHP を使用して ASP を解析するように Apache ホストを構成し、catalog.asp ファイルを編集してそのコードを次のように変更することです。

if (isset($_GET['cate'])) {
 if (isset($_GET['page'])) {
  $strFileName = "cate_".strip_tags(stripslashes(trim($_GET['cate'])))."_".strip_tags(stripslashes(trim($_GET['page']))).".html";
 } else {
  $strFileName = "cate_".strip_tags(stripslashes(trim($_GET['cate']))).".html";
 }
} else if (isset($_GET['tags'])) {
 if (isset($_GET['page'])) {
  $strFileName = "tags_".strip_tags(stripslashes(trim($_GET['tags'])))."_".strip_tags(stripslashes(trim($_GET['page']))).".html";
 } else {
  $strFileName = "tags_".strip_tags(stripslashes(trim($_GET['tags']))).".html";
 }
} else if (isset($_GET['auth'])) {
 if (isset($_GET['page'])) {
  $strFileName = "auth_".strip_tags(stripslashes(trim($_GET['auth'])))."_".strip_tags(stripslashes(trim($_GET['page']))).".html";
 } else {
  $strFileName = "auth_".strip_tags(stripslashes(trim($_GET['auth']))).".html";
 }
} else if (isset($_GET['date'])) {
 if (isset($_GET['page'])) {
  $strFileName = "date_".strip_tags(stripslashes(trim($_GET['date'])))."_".strip_tags(stripslashes(trim($_GET['page'])).".html";
 } else {
  $strFileName = "date_".strip_tags(stripslashes(trim($_GET['date']))).".html";
 }
} else if (isset($_GET['page'])) {
 $strFileName = "default_".strip_tags(stripslashes(trim($_GET['page']))).".html";
} else {
 $strFileName = "../default.html";
}
define("HTML_FILE", dirname(__FILE__)."/".$strFileName);
if (file_exists(HTML_FILE)) {
 echo(file_get_contents(HTML_FILE));
 exit(0);
} else {
 exit(0);
}
 



声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール