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:
りー
りー