ページ最適化と擬似静的について
1) レイアウトの最適化
2) 擬似静的 (Apache、smarty、register を中心に)
詳細:
1.レイアウトの最適化:
レイアウトの最適化には、実際には主に HTML、JS、CSS、および XML 間の関係が含まれます (XML 関連についてはここでは説明しません)。
1) 一般的に、リソース共有を前提として、最も基本的なものです。目的は、検索エンジンに組み込まれることです(AJAXと混同してあちこちでAJAXを使っている人も多いですが、私の考えではAJAXはバックグラウンドやユーザーの操作部分でのみ使用すべきです
したがって、まず第一に。 、検索エンジンの組み込みガイドラインに従って設計する必要があります (実際、以下で説明する「疑似静的」は検索エンジン用ではありません。関連するドキュメントが数ページあるため、ご自身で検索してください)。主に HTML を使用します。
2) など、読み込み速度とコンテンツの純度の問題を解決します。
主に次の原則:
1> レイアウトを美しくするために、不要な HTML を追加しないことをお勧めします。美しいレイアウトはCSSに任せ、CSSの再利用性を真剣に考えるため、HTMLは情報内容の記述としてのみ使用されます(XMLが中心になっているようです)。インターネット上の多くのサイトをランダムにチェックしましたが、優れた Web サイトでは、HTML が全体のコンテンツの 50% 未満を占めていますが、一部のサイトではテキスト コンテンツが全体の 20% 未満を占めています。 JS と CSS をファイルに書き込みます。ブラウザの CAHCHE を使用してコンテンツのダウンロードを減らす限り、HTML タグのネストは最小限にする必要があります。TABLE のネストは実際には 11 レベルです。汗だくです...
3) 妥当なデータ処理時間の問題を解決します
これには、主に多くのコンテンツが含まれます
2. 擬似静的
これは主に、 Apache と Smarty のアプリケーション もちろん、どのテンプレートを使用するかは問題ではありません。私は長年 Smarty を使用しており、その威力を痛感しています。
この部分。主に、システムを制御でき、Apache と正規表現に精通しているユーザーを対象としています。
ここでの核心は、正規表現の適用を強調することです。正規表現を知らなければ、不変の剽窃段階に留まるか、正規表現を使用することさえできません。式はアプリケーションで一般的に使用され (基本的にどの言語でも (すべての言語で)、頻繁に使用され、強力です。著者は依然として、時間をかけてさらに学習し、一生使用することを推奨しています
検索エンジンの場合、私の知る限り、重要なのは、 GET で "?"、"&"."php" を処理することです。URL の長さの問題もありますが、これは問題ありません。形式は個人の好みによって異なります。
最初に APACHE について話しましょう。重要なのは、mod_rewrite を使用して mod_rewrite モジュールを開くことです (httpd.conf で、LoadModule rewrite_module modules/mod_rewrite.so の前の「#」を削除します)。
If vhost () を使用します。次のようなコードを vhost に追加できます:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^xxx.com$
RewriteRule ^/([^./] ) .html$ /index. php?action=$1 [L]
説明:
上記の設定は必ずしも vhost に配置する必要はなく、個人の要件に応じて適切に配置してください。
最初の行は、vhost が rewrite (URL 書き換え) を使用することを示します。
2 行目の RewriteCond は、次の条件が満たされる場合に使用されます (最初のパラメーターが 2 番目のパラメーターを満たし、2 番目のパラメーターが正規表現です)。 、次の RewriteRule 命令を実行します。ここで、%{xxxx} は Apache 変数を表し、%{HTTP_HOST} は URL のホスト (ドメイン名) を表します。その他の変数については、Apache2 マニュアルの 3 行目
を参照してください。 URL 書き換え (ハイライト) を実装します。最初のパラメータはブラウザに入力された URL で、通常のルールを満たす URI が書き換えられます。2 番目のパラメータは書き換えルール、つまり最初のパラメータを満たす URL です。このルールに従って書き換えられます。必要な URL に変換します。ここで、書き換えられた URL に「http://」が含まれる場合、リダイレクトされたアドレスがブラウザのアドレス バーに表示されることを指摘しなければなりません。 3 番目のパラメーターは何らかの制御です。たとえば、上記の [L] は、書き換えが最後のものであり、後続の書き換えルールは実行されないことを示します。
スマートな部分:
主に、Apache の書き換えを使用した後、ページ内のリンクはそのルールを使用します。これは、abc.php?action であることがわかります。 = Doit は abc/action-doit.html のような形で表現すればいいのですが、もちろんページ作成時に手動で変更することもできますが、これは愚かな方法だと思います。 (ob_xxxx() シリーズの関数の使用については、PHP マニュアルを参照してください。) ここでの導入では、より柔軟になるため、smarty を使用します。
Smarty では、 register_outputfilter() を使用して処理メソッドを登録します。特定のメソッド 同様:
//最初に処理関数を定義します
function change_url($tpl_output, &$smarty)
{
$tpl_output=preg_replace(”//index.php??action= ( [^&] )/i”,”/\1.html”,$tpl_output);
return $tpl_output;
}
// この関数の最初のパラメータは、smarty のページ コンテンツです。 2 つ目はスマート ポインターです。
//次に、
$tpl->register_outputfilter("change_url"); を使用します。
register_outputfilter() メソッドは、次の関数に渡されます。 change_url($tpl_output, &$smarty) 最初のパラメータは、smarty によって処理されるページ コンテンツです
同じ型には、事前フィルタリング メソッド register_prefilter() もあります。これは、smarty テンプレートを最初のパラメータに渡すことを意味します。 、smartyのマニュアルを参照してください。