ホームページ > バックエンド開発 > PHPチュートリアル > 静的および疑似静的な優先順位の問題を解決するための優れたソリューションは何ですか?

静的および疑似静的な優先順位の問題を解決するための優れたソリューションは何ですか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 14:15:35
オリジナル
1017 人が閲覧しました

静的および擬似静的優先度

静的および擬似静的優先度の問題を解決するための良い解決策は何ですか?

System: Linux Apache PHP/5.2.17

現在サーバー上では.htaccessを使ってアドレスを擬似静的に書き換えてキャッシュを使っています。しかし、依然としてスペースプロバイダーの CPU 制限を超えることがよくあり、最近ではスペースプロバイダーによって 2 回強制終了されました。

ここで、ほとんどのページを純粋な静的ページに変更し、ページングのみが擬似静的のままにしたいと思います。
現在、「純粋な静的 HTML」ページが存在する場合は「純粋な静的 HTML」ページに直接リンクでき、「純粋な静的 HTML」ページが存在しない場合は擬似静的を使用できるようにしたいと考えています。

ただし、疑似静的ルールの仕様では、「純粋な静的」ページにアクセスすることは不可能であり、常に対応する PHP ページにリンクされて実行されることがわかっています。

Baidu を検索すると、純粋な静的と疑似静的を区別するために、.htm .html のような異なるサフィックスを使用すると言われていることがわかります。

これで目的は達成できますが、多くのテンプレートで .html を変更する必要があります。非常に面倒だと思います。何か良い解決策がないか専門家に聞いてください。

偉大な神々が私にアドバイスをくれることを願っています!

ありがとう!

ディスカッションへの返信 (解決策)

優先度の問題を解決するために .htm と .html の異なる拡張子を使用すると、別の問題が発生します。それがステータス コード 302 問題です

302 は検索エンジンにとって優しくなく、検索エンジンの誤解 (URL の正規化と URL ハイジャックに問題があり、検索エンジンによって不審なリダイレクトと判断されたり、[xxx ブログより] 不正行為とみなされたりする可能性があります)

.htm が擬似静的に作成され、ユーザーがxxx/xx.htm をクリックすると、対応する xx.php が実行されます。まず、xx.html が存在するかどうかを確認し、期限切れでない場合は、データとテンプレートを読み取って、対応する xx.html ページを生成します。 、xx.html を直接見つけます。 302 エラーを生成するのはこの場所のリダイレクトです。つまり...

そこで専門家に尋ねます。何か良い解決策はありますか?

.htaccess のアドレスを書き換えれば解決するはずです。見つからない場合は、次のルール。それが機能しない場合は、404 用のルールを作成します。

何はともあれ、静的ページがあるかどうかを確認したい場合は、PHP プログラムを使用する必要があります。つまり、Apache はこの問題を気にしません。

if(!file_exists('xxx/xx.htm')||(time()-filemtime('xxx/xx.htm'))>3600)){
//コード生成自動プログラム、xxx として保存/xx.htm
}else{
//file_get_contents(xxx/xx.htm); }

include、require を減らし、同じコードを適切にマージすることをお勧めします。 function( ) 呼び出しなど。

さらに、スペースを変更することも検討できます。

1. サフィックスがない場合、それは明らかに真に静的ではありません。どんなに面倒でも修正は必要です

しかも、擬似静的ページのURLは関数で生成するはずです、それをしないなら思い切って修正すべきです
2. よくある書き換え。ルールには
RewriteCond %{ REQUEST_FILENAME} !-f が含まれます
ファイルが存在する場合は、次の RewriteRule を実行せずにファイルに直接アクセスします。
3. 本物の .htm を php で処理する必要がある場合、「静的」が何を意味するのかわかりません

Xu さんに感謝します


知りませんでした
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

の役割
今やっと分かりました

ありがとうございます!それを結びます!

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート