-
- /**
- * php pseudo-static
- * bbs.it-home.org
- */
- $conn=mysql_connect("localhost","root","root")or dir("接続失敗");
- mysql_select_db("tb_demo ",$conn);
- $sql="ニュースから * を選択";
- $res=mysql_query($sql);
- header("content-type:text/html;charset=utf-8");
- echo "
ニュースリスト";
- echo "ニュースを追加
";
- echo "
- echo "
id | タイトル | 詳細を表示 | ニュースを変更 | ";
- while($row=mysql_fetch_assoc($res)){
- echo "
{$row['id']} | { $row['title ']} | 詳細を表示 a> | ページを変更 ";
- }
- //上の赤いアドレスは show_news.php だったはずですよね? act=look&id={$row['id']}
- echo "
";
- //リソースを閉じる
- mysql_free_result($res);
- mysql_close($conn);
- ?>
コード
2、show_new.phpページをコピーします
-
- header("Content-type:text/html;charset=utf-8");
- $conn=mysql_connect("localhost","root","root");
- mysql_select_db("tb_demo",$conn);
- mysql_query("set names utf8");
- $pa = $_SERVER['PATH_INFO'];
- //$pa の出力値は /look-id-1.html です
- //正規表現マッチングで取得したURLアドレス
- if(preg_match('/^/(look)-(id)-([d]).shtml$/',$pa,$arr)){
- $ act = $arr[1]; //これはリクエストされた look メソッドです
- $id = $arr[3]; //これは取得された id 値です
- $sql="select * from news where id= $id"; $res=mysql_query($sql);
- $res = mysql_fetch_assoc($res);
- echo $res['title']."
".$res['content'];
- }else{
- echo "URL アドレスが不正です";
- }
- mysql_close($conn);
- ?>
-
コードをコピー
次に、設定に従って実装します。.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 は次のように記述されます。
- #書き換えルールを作成します
- RewriteEngine On
- # 複数のルールを設定でき、一致する順序は上から下です
- RewriteRule one_new-id-(d+).shtml$ one_new .php?id=$1 //$1 は最初のパラメータを表します
- RewriteRule abc_id(d+).html$ error.php
- #Set 404 error
- #ErrorDocument 404 /error.php
- をコピーしますcode
-
one_new.php ページの echo $_GET['id'] は確実に id の値を出力します。
これらを紹介しましょう。PHP で擬似静的を実装するのは非常に簡単です。もっと練習して、より柔軟で軽量な擬似静的ルールを作成できることを願っています。
|