ホームページ >バックエンド開発 >PHPチュートリアル >php_PHP チュートリアルで疑似静的を実装する方法
mod_rewrite は、擬似静的ページを実現できる Apache の非常に強力な機能です。以下で詳しい使い方を説明していきます
1. Apache が mod_rewrite をサポートしているかどうかを確認します
php が提供する phpinfo() 関数を使用して環境設定を確認します。Ctrl+F を使用して「ロードされたモジュール」を見つけます。「mod_rewrite」が含まれている場合、それはすでにサポートされており、これ以上はサポートされません。設定が必要です。
「mod_rewrite」がオンになっていない場合は、Apache インストール ディレクトリ「/apache/conf/」の下にある httpd.conf ファイルを開き、Ctrl+F を使用して「LoadModule rewrite_module」を見つけ、その前にある「#」を削除します。
見つからない場合は、「LoadModule」エリアに移動し、最終行(必ず専用行)に「LoadModule rewrite_module, modules/mod_rewrite.so」を追加し、Apacheサーバを再起動してください。
2. Apache サーバーに .htaccess をサポートさせます
ローカル APACHE サーバーで「.htaccess」をサポートさせるにはどうすればよいですか? 実際、Apache の httpd.conf 設定を変更するだけで、APACHE で .htaccess をサポートさせることができます。 httpd.conf ファイルを開きます (どこにありますか? APACHE ディレクトリの CONF ディレクトリ内)、
テキストエディタで開いた後、
を検索します
オプションフォローSymLinks
許可オーバーライドなし
に変更します
オプションフォローSymLinks
すべて上書きを許可
それでおしまい。
3..htaccessファイルを作成します
.htaccess ファイルを作成する簡単な方法が 1 つあります:
メモ帳で開き、[ファイル] – [名前を付けて保存] をクリックし、ファイル名ウィンドウに「.htaccess」と入力し、緑色の部分全体に注目してください。
つまり、英語の引用符を含めて、「保存」をクリックします。
4.書き換えルール学習
新しい .htaccess ファイルを作成したら、次の内容をそのファイルに書き込みます:
#rewriteengine の RewriteEngine は書き換えエンジンのスイッチです。on はオン、off はオフです
RewriteRule ([0-9]{1,})$index.php?id=$1
RewriteRule について説明します。 RewriteRule は正規表現をサポートする書き換えルールです。上記の ([0-9]{1,}) は数値
を指します。
文字で構成される $ は終了マークであり、数字で終わることを示します。
さて、これで疑似静的ページを実装できるようになり、次のルールを書き留めます:
リライトエンジンオン
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2
([a-zA-Z]{1,})-([0-9]{1,}).html$ はルール、index.php?action=$1&id=$2 は置換される形式、$1
を表します
1 つの括弧が値と一致し、$2 が 2 番目の括弧を表します。 !
処理用の PHP スクリプトを書いてみましょう:
インデックス.php
PHPコード
echo 'あなたのアクションは:' $_GET['action'];
エコー「
」
’;
echo 'あなたのIDは:' $_GET['id'];
?>
さて、ブラウザに次のように入力してみましょう:
localhost/page-18.html
出力は次のとおりです:
あなたのアクションは: ページ
あなたのIDは: 18