2

.phpphp を使用して自分の Web サイトで動的データを生成したいが、ユーザーにどのページにもアクセスしてほしくない、としましょう。

むしろ、毎晩 1 回 php スクリプトを実行し、.htmlファイルを保存して、Web サイトのユーザーが静的な html だけを参照できるようにしたいと考えています。

私がこれを描写している方法は、動的データを必要とするすべてのページには、.html と .php があるということです。例えば:

  • newsAndInformation.html
  • newsAndInformation.php

これは一般的な方法ですか?このようなことのための良いチュートリアルはありますか?

4

3 に答える 3

4

.htaccess ファイルで巧妙な mod_rewrite ルールを使用すると、静的ページでサイトを高速化できます。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^Example/ index.php [L,NC,QSA]

このルールは次のことを行います...

  1. 要求された URL のファイルが存在しないことを確認します

  2. 要求された URL のディレクトリがまだ存在しないことを確認します

  3. YES の場合 - 静的ファイル/ディレクトリを表示します (ディレクトリには index.html ファイルが必要です)

  4. NO の場合 - PHP ファイルにリダイレクトされます。このファイルは実行され、次のリクエストのために適切なファイルを保存できます。

PHP ファイルは次のような応答を吐き出します。

<?php
ini_set('zlib.output_compression', 'On');

ob_start();

// Logic to create your content...

// use ob_get_contents() to get the response and save it

ob_end_flush();
?>

大まかな例は...

yoursite/Example/Test/

最初の訪問で、これは PHP ページにヒットします。次に、ファイルを に保存する/Example/Test/index.htmlと、2 番目のリクエストで PHP を使用せずに静的ページが提供されます。

于 2013-02-22T17:36:19.963 に答える
0

これを行うために使用する単純なクラスを作成できますfwrite

より複雑なソリューションを必要とする十分なデータがある場合は、より大規模なキャッシュ システムを見つけることができます。

于 2013-02-22T17:37:45.560 に答える
0

.htaccessファイルに次を追加します

RewriteEngine on 
RewriteRule ^(.*)\.html $1\.php

これはhttp://www.domain.com/myPage.html本当にポイントにhttp://www.domain.com/myPage.phpなりますが、ユーザーは.html

于 2013-02-22T17:38:00.300 に答える