ホームページ >バックエンド開発 >PHPチュートリアル >.htaccess を使用して GET パラメータで URL を書き換えるにはどうすればよいですか?

.htaccess を使用して GET パラメータで URL を書き換えるにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-16 13:35:02885ブラウズ

How Can I Rewrite URLs with GET Parameters Using .htaccess?

.htaccess を使用した GET 変数の書き換え

多くの Web アプリケーションは、提供されている例のような動的コンテンツを含む URL 構造を利用しています。 php?page=コントローラー。ユーザー エクスペリエンスを向上させ、よりクリーンな URL 構造を維持するには、これらの URL を書き換えて、よりユーザー フレンドリーな形式で表示することが望ましいです。これは、.htaccess ルールを使用して実現できます。

提供された .htaccess ルールは、http://localhost/index.php?page=controller 形式の URL を http://localhost/controller/ に効果的に書き換えます。ただし、要件は GET パラメーターもサポートすることであり、その結果、http://localhost/controller/param/value/param/value などの URL になります。

これを実現するには、次の RewriteRule を.htaccess ファイル:

RewriteRule ^(.*)$ index.php?params= [NC, QSA]

このルールは、パラメータを含む URL 全体をキャプチャし、キャプチャしたデータを params GET 変数に割り当てます。その結果、URL http://localhost/controller/param/value/param/value は、index.php?params=param/value/param/value に書き換えられます。

PHP スクリプトでは、params GET 変数を展開して、個々のパラメータとその値を抽出できます。例:

<?php

$params = explode("/", $_GET['params']);
for($i = 0; $i < count($params); $i+=2) {

  echo $params[$i] ." has value: ". $params[$i+1] ."<br />";

}

?>

この変更により、.htaccess ルールは GET パラメータで URL を正常に書き換え、PHP スクリプトがさらなる処理やコントローラ ロジックのためにこれらのパラメータにアクセスできるようになります。

以上が.htaccess を使用して GET パラメータで URL を書き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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