ホームページ  >  記事  >  バックエンド開発  >  PHP で疑似静的ページを実装する 3 つの方法

PHP で疑似静的ページを実装する 3 つの方法

巴扎黑
巴扎黑オリジナル
2016-11-24 14:08:291500ブラウズ

PHP 疑似静的記述方法 - 1 つ

疑似静的とは次のようにも呼ばれます: URL 書き換え

主に SEO 用。 (SEO とは何ですか? これについては私に聞かないでください。笑~インターネットで仕事をしている人は SEO を理解していません~~~~)

方法 1:

たとえば、この Web ページ

http://www .2cto.com /soft. php/1,100,8630.html

実際、処理されるスクリプトは Soft.php で、パラメーターは 1,100,8630

であり、soft.php?a=1&b=1= と同等です。 100&c=8630 ですが、そのような URL は覚えるのが難しすぎます。検索エンジンもそれを好みません。

真の静的は HTML を完全に生成するだけです。

クライアントがアクセスした際に直接出力します。スクリプトの説明は不要です。トラフィックが非常に多い場合 (毎日何百万ものアクセスがある場合など)、非常に良い結果が得られます。つまり、この HTML ページはサーバー側に実際に存在します。

もちろん、ウェブサイトのトラフィックがそれほど多くない場合です。 URL 書き換えが最良の方法です (個人的な意見ですが、トラフィックが多い場合は負荷分散を考慮する必要があります。どちらでも構いません)

URL 書き換えには、APACHE や IISREWRITE を含む多くの方法があります。 PHP スクリプトでも直接処理できます。例えば上記の例では、PHPスクリプトで直接処理しています(この方法の利点は、トラフィック量が多い時のWEBサーバーへの負荷を直接軽減できることです。追記:これも個人的な意見です) :

=============== =============================== =

PHP の疑似静的プログラムの実装方法について説明するために、プログラムを例に挙げてみましょう。実際、私は以前にこの方法を他のフォーラムやコミュニティに投稿しました

プログラムの例:

http://www. 2cto.com /soft.php/1,100,8630.html

コード:

//サーバーを使用 この例では、変数は実行後の部分である /1,100,8630.html です。スクリプト名

if(@$path_info =$_SERVER["PATH_INFO"]){

//パラメータと通常一致

if (preg_match("//(d+),(d+),(d+).html/ si",$path_info,$arr_path)){

$gid =intval($arr_path[1]); //値1を取得

$sid =intval($arr_path[2]); //値100を取得

$softid =intval($arr_path[3]); //値 8630 を取得します

}else die("Path:Error!" ;

2. #LoadModule rewrite_module modules/mod_rewrite の前の # を削除します。 3. httpd.conf に追加します:

_URL} (?:index| dispbbs)[-0-9]+.html
RewriteRule ^(.* ?(?:index|dispbbs))-([-0-9]+).html 1.php?__is_apache_rewrite=1&__rewrite_arg=2
< /IfModule>

4 番目に、ASP 投稿 URL の php へのマッピングを実装します。 post、3 番目のステップで の間に追加します:

RewriteMap to lowercase int:to lower
RewriteCond %{ QUERY_STRING} (?:boardid|page|id|replyid|star|skin) =d+ [NC]
RewriteRule ^(.*(?:index|dispbbs)).asp 1.php?{to lowercase:%{QUERY_STRING}} &__is_apache_rewrite=1

5. httpd.conf を保存し、Apache を再起動します

メソッド3:


りー


りー


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