疑似静的とは:
Web サイトは動的 Web サイトと静的 Web サイトに分けられます。html で終わる一般的な Web サイトは一般に静的ページです。 . 、.php.asp で終わるページは通常、動的 Web サイトです。動的 Web サイトは、データベースと対話するときに動的 Web サイトと呼ばれます。動的 Web サイトは検索エンジンによって簡単にインデックス付けされないため、擬似静的 Web サイトと呼ばれます。 (推奨学習: PHP プログラミングの入門から熟練度まで )
疑似静的とは、名前が示すように、偽の静的 Web サイトです。エンジンでは、動的 Web サイトはサーバーの rewrite False 静的プロセスを使用して実装されます。
それでは、PHP で擬似静的を実装する方法は何通りあるでしょうか?
1, Apache の URL 書き換えルールを使用する 、これは誰もが知っています。Apache で設定します。ここにいる誰もがそれを作成しています。簡単な設定を列挙するだけです。
RewriteEngine On RewriteRule ^/test.html index.php?controller=index&action=test [L]
2、 PHP のパス情報を使用します 、これを実行している Web サイトをいくつか見たことがありますか 'www.xxx.com/index.php/c/index/a/test/id/100'、もちろんこれをサポートするには必要です「php.ini」のパラメータ
「cgi.fix_pathinfo」を 1 に設定します。 'www.xxx.com/index.php/c/index/a/test/id/100' を例に挙げます。
echo $_SERVER['PATH_INFO']; //输出'/c/index/a/test/id/100'
これで理解できるはずです。この段落を解析して、実際の値を割り当てることができます。アドレス
3, は 404 メカニズム を使用します。一般に、疑似静的ページは実際には存在しないページであるため、Apache 404 構成を使用できますが、いくつかの問題があります。 'post' タイプのリクエストです。リクエストは破棄され、'$_POST',
を取得できなくなりますが、'$_GET' は引き続き取得できます。ここでの 404 ページは '404page' であると仮定します。 .php' であり、Apache の設定は次のとおりです:
ErrorDocument 404 /404page.php
次に、次のコードを '404page.php'
header("HTTP/1.1 200 OK"); //这里一定要有,不然状态就是404 $reqUrl = $_SERVER['REQUEST_URI']; // 请求地址 /** * 从URL中解析参数 */ function parseUrlParams($queryUrl) { $arr = explode('?', $queryUrl); parse_str($arr[1], $param); if($param) { foreach($param as $key => $value) { $_GET[$key] = $value; } } } parseUrlParams($reqUrl); // url解析参数 //然后你就可以使用 $reqUrl 根据自己的规则匹配不同的实际请求地址 if(preg_match('#^/test.html#is', $reqUrl, $matches)) { include('index.php'); die(); }
以上がPHPで擬似静的処理を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。