擬似静的ページPHPを達成するには、3つの方法
PHPの擬似静的書かれた - 1
また、擬似静的として知られている:URLリライト
主にSEOや学生のため。(どのようなSEOはありますか?これは。ああ〜、それ~~~~ SEOのネットワークを理解していない私に聞かないでください)
この方法の一つ:
たとえば、このページ
/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スクリプトが直接処理することができます。また、ビューの個人的な点:例えば、上記の例では、流量WEBサーバが直接圧力.PSを緩和する際に大きな利点である(直接対処するPHPスクリプトです。
================================================
一例として、次のプログラムは、実際には、この方法は、私の前に他のフォーラムのコミュニティになされたもので、プログラムのPHPの擬似静的な実装について話をします
プログラム、例えば:
/soft.php/1,100,8630.html
コード:
//ケースについての情報を取得するために、サーバー変数PATH_INFOを使用すると、名前の後ろに、スクリプトの実行の一部/1,100,8630.htmlです
(@ $ PATH_INFO = $ _、SERVER [ "PATH_INFO"]){場合
//通常の試合次のパラメータ
もし(するpreg_match( "/ \ /(\ dは+)、(\ D +)、(\ D +)\。htmlの/ SI"、$ PATH_INFO、$ arr_path)){
$ GID = INTVAL($のarr_path [1]); //値を取得1
$シド= INTVAL($のarr_path [2]); //値を取得100
$はSoftID = INTVAL($のarr_path [3]); //値8630を取得
}他のダイ( "パス:エラー!");
//同等soft.php?GID = 1&SID = 100&はSoftID = 8630
//それはとても簡単です。〜)
方法2:
Apacheの設定ファイルhttpd.confを開きました。
上記2つの#LoadModuleのrewrite_moduleモジュール/ MOD_REWRITE位除去します
httpd.confの三つが追加さ:
<のIfModule mod_rewrite.c>
でRewriteEngine
#RewriteCondの%{ENV:SCRIPT_URL}(?:インデックス| dispbbs) - 0-9] + HTML。
のRewriteRule ^ | - ([ - (*(?:インデックスdispbbs)。?) 0-9] +)。HTML 1.php?__ is_apache_rewrite = 1&__ rewrite_arg = 2
</のIfModule>
第四に、我々は第三ステップは、<のIfModule mod_rewrite.c>と</のIfModule>の間に追加され、URLマッピングを投稿するASPのPHPの記事を実現する必要があります。
RewriteMap命令toLowerCaseメソッドint型:TOLOWER
するRewriteCondの%{QUERY_STRING}(:?基板ID |ページ| ID | REPLYID |星|スキン)= D + [NC]
。のRewriteRule ^(。*(?:インデックス| dispbbs))のASP 1.php {? toLowerCaseメソッド:%{QUERY_STRING}}&__ is_apache_rewrite = 1
ファイブは、httpd.confを保存し、Apacheを再起動します
方法3:
<?PHP
/ *
機能:PHP擬似静的なページ
の特定の使用:
たとえば、リンクは次のとおりです。/ 2006 /アクション/ _add.html test.phpを/年
のmod_rewrite();
$あこがれる= $ _ GET [ "年"]; / /結果は'2006'
$ $ _ GETアクション= [ "アクション"]; //結果は'_ADD'です
* /
関数のmod_rewrite(){
グローバル$ _GET。
$ NAV = $ _、SERVER [ "REQUEST_URI"];
$ SCRIPT_NAME = $ _、SERVER [ "SCRIPT_NAME"];
$ NAV = SUBSTR(ereg_replace( "^ $のSCRIPT_NAME"、 ""、urldecode($ NAV))、1);
$ NAV =にpreg_replace( "/ ^ HT(M){1}(L){0,1} $ /。"、 ""、$ NAV); //这句是去掉尾部的.htmlの或の.htm
$ VARS =爆発( "/"、$ NAV);
($ i = 0; $ iはカウント($ VARS)を<; $ I + = 2)のために{
$ _GET [ "$ VARS [$ i]が"] = $ VARS [$ I + 1]。
}
$ _GETを返します。
}
のmod_rewrite()。
$あこがれる= $ _ GET [ "年"]; //结果为'2006'
$アクション= $ _ GETの[ "アクション"]; //结果为'_ADD'
エコー$を切望。
$アクションをエコー。
?>
<?PHP
/ *
機能:PHP擬似静的なページ
の特定の使用:
たとえば、リンクは次のとおりです。/ 2006 /アクション/ _add.html test.phpを/年
のmod_rewrite();
$あこがれる= $ _ GET [ "年"]; / /結果は'2006'
$ $ _ GETアクション= [ "アクション"]; //結果は'_ADD'です
* /
関数のmod_rewrite(){
グローバル$ _GET。
$ NAV = $ _、SERVER [ "REQUEST_URI"];
$ SCRIPT_NAME = $ _、SERVER [ "SCRIPT_NAME"];
$ NAV = SUBSTR(ereg_replace( "^ $のSCRIPT_NAME"、 ""、urldecode($ NAV))、1);
$ NAV =にpreg_replace( "/ ^ HT(M){1}(L){0,1} $ /。"、 ""、$ NAV); //这句是去掉尾部的.htmlの或の.htm
$ VARS =爆発( "/"、$ NAV);
($ i = 0; $ iはカウント($ VARS)を<; $ I + = 2)のために{
$ _GET [ "$ VARS [$ i]が"] = $ VARS [$ I + 1]。
}
$ _GETを返します。
}
のmod_rewrite()。
$あこがれる= $ _ GET [ "年"]; //结果为'2006'
$アクション= $ _ GETの[ "アクション"]; //结果为'_ADD'
エコー$を切望。
$アクションをエコー。
?>
PHPの擬似静的書かれた - 1
また、擬似静的として知られている:URLリライト
主にSEOや学生のため。(どのようなSEOはありますか?これは。ああ〜、それ~~~~ SEOのネットワークを理解していない私に聞かないでください)
この方法の一つ:
たとえば、このページ
/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スクリプトが直接処理することができます。また、ビューの個人的な点:例えば、上記の例では、流量WEBサーバが直接圧力.PSを緩和する際に大きな利点である(直接対処するPHPスクリプトです。
================================================
一例として、次のプログラムは、実際には、この方法は、私の前に他のフォーラムのコミュニティになされたもので、プログラムのPHPの擬似静的な実装について話をします
プログラム、例えば:
/soft.php/1,100,8630.html
コード:
//ケースについての情報を取得するために、サーバー変数PATH_INFOを使用すると、名前の後ろに、スクリプトの実行の一部/1,100,8630.htmlです
(@ $ PATH_INFO = $ _、SERVER [ "PATH_INFO"]){場合
//通常の試合次のパラメータ
もし(するpreg_match( "/ \ /(\ dは+)、(\ D +)、(\ D +)\。htmlの/ SI"、$ PATH_INFO、$ arr_path)){
$ GID = INTVAL($のarr_path [1]); //値を取得1
$シド= INTVAL($のarr_path [2]); //値を取得100
$はSoftID = INTVAL($のarr_path [3]); //値8630を取得
}他のダイ( "パス:エラー!");
//同等soft.php?GID = 1&SID = 100&はSoftID = 8630
//それはとても簡単です。〜)
方法2:
Apacheの設定ファイルhttpd.confを開きました。
上記2つの#LoadModuleのrewrite_moduleモジュール/ MOD_REWRITE位除去します
httpd.confの三つが追加さ:
<のIfModule mod_rewrite.c>
でRewriteEngine
#RewriteCondの%{ENV:SCRIPT_URL}(?:インデックス| dispbbs) - 0-9] + HTML。
のRewriteRule ^ | - ([ - (*(?:インデックスdispbbs)。?) 0-9] +)。HTML 1.php?__ is_apache_rewrite = 1&__ rewrite_arg = 2
</のIfModule>
第四に、我々は第三ステップは、<のIfModule mod_rewrite.c>と</のIfModule>の間に追加され、URLマッピングを投稿するASPのPHPの記事を実現する必要があります。
RewriteMap命令toLowerCaseメソッドint型:TOLOWER
するRewriteCondの%{QUERY_STRING}(:?基板ID |ページ| ID | REPLYID |星|スキン)= D + [NC]
。のRewriteRule ^(。*(?:インデックス| dispbbs))のASP 1.php {? toLowerCaseメソッド:%{QUERY_STRING}}&__ is_apache_rewrite = 1
ファイブは、httpd.confを保存し、Apacheを再起動します
方法3:
<?PHP
/ *
機能:PHP擬似静的なページ
の特定の使用:
たとえば、リンクは次のとおりです。/ 2006 /アクション/ _add.html test.phpを/年
のmod_rewrite();
$あこがれる= $ _ GET [ "年"]; / /結果は'2006'
$ $ _ GETアクション= [ "アクション"]; //結果は'_ADD'です
* /
関数のmod_rewrite(){
グローバル$ _GET。
$ NAV = $ _、SERVER [ "REQUEST_URI"];
$ SCRIPT_NAME = $ _、SERVER [ "SCRIPT_NAME"];
$ NAV = SUBSTR(ereg_replace( "^ $のSCRIPT_NAME"、 ""、urldecode($ NAV))、1);
$ NAV =にpreg_replace( "/ ^ HT(M){1}(L){0,1} $ /。"、 ""、$ NAV); //这句是去掉尾部的.htmlの或の.htm
$ VARS =爆発( "/"、$ NAV);
($ i = 0; $ iはカウント($ VARS)を<; $ I + = 2)のために{
$ _GET [ "$ VARS [$ i]が"] = $ VARS [$ I + 1]。
}
$ _GETを返します。
}
のmod_rewrite()。
$あこがれる= $ _ GET [ "年"]; //结果为'2006'
$アクション= $ _ GETの[ "アクション"]; //结果为'_ADD'
エコー$を切望。
$アクションをエコー。
?>
<?PHP
/ *
機能:PHP擬似静的なページ
の特定の使用:
たとえば、リンクは次のとおりです。/ 2006 /アクション/ _add.html test.phpを/年
のmod_rewrite();
$あこがれる= $ _ GET [ "年"]; / /結果は'2006'
$ $ _ GETアクション= [ "アクション"]; //結果は'_ADD'です
* /
関数のmod_rewrite(){
グローバル$ _GET。
$ NAV = $ _、SERVER [ "REQUEST_URI"];
$ SCRIPT_NAME = $ _、SERVER [ "SCRIPT_NAME"];
$ NAV = SUBSTR(ereg_replace( "^ $のSCRIPT_NAME"、 ""、urldecode($ NAV))、1);
$ NAV =にpreg_replace( "/ ^ HT(M){1}(L){0,1} $ /。"、 ""、$ NAV); //这句是去掉尾部的.htmlの或の.htm
$ VARS =爆発( "/"、$ NAV);
($ i = 0; $ iはカウント($ VARS)を<; $ I + = 2)のために{
$ _GET [ "$ VARS [$ i]が"] = $ VARS [$ I + 1]。
}
$ _GETを返します。
}
のmod_rewrite()。
$あこがれる= $ _ GET [ "年"]; //结果为'2006'
$アクション= $ _ GETの[ "アクション"]; //结果为'_ADD'
エコー$を切望。
$アクションをエコー。
?>