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

PHP で擬似静的を実装する 2 つの方法の紹介

WBOY
WBOYオリジナル
2016-07-25 08:59:42942ブラウズ
  1. /**
  2. * php pseudo-static
  3. * bbs.it-home.org
  4. */
  5. $conn=mysql_connect("localhost","root","root")or dir("接続失敗");
  6. mysql_select_db("tb_demo ",$conn);
  7. $sql="ニュースから * を選択";
  8. $res=mysql_query($sql);
  9. header("content-type:text/html;charset=utf-8");
  10. echo "

    ニュースリスト

    ";
  11. echo "ニュースを追加
    ";
  12. echo "
  13. echo "
  14. ";
  15. while($row=mysql_fetch_assoc($res)){
  16. echo "
  17. ";
  18. }
  19. //上の赤いアドレスは show_news.php だったはずですよね? act=look&id={$row['id']}
  20. echo "
  21. idタイトル詳細を表示ニュースを変更
    {$row['id']}{ $row['title ']}詳細を表示ページを変更
    ";
  22. //リソースを閉じる
  23. mysql_free_result($res);
  24. mysql_close($conn);
  25. ?>
コード

2、show_new.phpページをコピーします

  1. header("Content-type:text/html;charset=utf-8");
  2. $conn=mysql_connect("localhost","root","root");
  3. mysql_select_db("tb_demo",$conn);
  4. mysql_query("set names utf8");
  5. $pa = $_SERVER['PATH_INFO'];
  6. //$pa の出力値は /look-id-1.html です
  7. //正規表現マッチングで取得したURLアドレス
  8. if(preg_match('/^/(look)-(id)-([d]).shtml$/',$pa,$arr)){
  9. $ act = $arr[1]; //これはリクエストされた look メソッドです
  10. $id = $arr[3]; //これは取得された id 値です
  11. $sql="select * from news where id= $id"; $res=mysql_query($sql);
  12. $res = mysql_fetch_assoc($res);
  13. echo $res['title']."
    ".$res['content'];
  14. }else{
  15. echo "URL アドレスが不正です";
  16. }
  17. mysql_close($conn);
  18. ?>
コードをコピー
次に、設定に従って実装します。.htaccess まず、.htaccess ファイルを作成する方法について説明します。Web サイトのルート ディレクトリにメモ帳を作成し、[名前を付けて保存] をクリックして、ファイル名を .htaccess として書き込みます。エンコーディングとして utf-8 が必要です。この .htaccess ファイルがディレクトリにありました。

まず、Apache で mod_rewrite.so を開き、2 か所のAllowOverride None をAllowOverride All に置き換えます。

たとえば、href アドレスは one_new-id-1.shtml と記述されます //これは one_new.php?id=1 を意味します ここでの .htaccess は次のように記述されます。

  1. #書き換えルールを作成します
  2. RewriteEngine On
  3. # 複数のルールを設定でき、一致する順序は上から下です
  4. RewriteRule one_new-id-(d+).shtml$ one_new .php?id=$1 //$1 は最初のパラメータを表します
  5. RewriteRule abc_id(d+).html$ error.php
  6. #Set 404 error
  7. #ErrorDocument 404 /error.php
  8. をコピーしますcode
one_new.php ページの echo $_GET['id'] は確実に id の値を出力します。 これらを紹介しましょう。PHP で擬似静的を実装するのは非常に簡単です。もっと練習して、より柔軟で軽量な擬似静的ルールを作成できることを願っています。

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