ホームページ > バックエンド開発 > PHPチュートリアル > クリーン ルーティングのために .htaccess の GET 変数を使用して URL を書き換えるにはどうすればよいですか?

クリーン ルーティングのために .htaccess の GET 変数を使用して URL を書き換えるにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-15 11:34:03
オリジナル
346 人が閲覧しました

How Can I Rewrite URLs with GET Variables in .htaccess for Clean Routing?

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

ルーティング目的で PHP を使用する場合 (例:index.php?page=controller)、よりクリーンでユーザーフレンドリーな URL 構造を持つと便利です。広く使用されている Apache 構成ファイルである .htaccess は、URL を書き換えて GET 変数を処理する便利な方法を提供します。

特定の状況での目標は、http://localhost/controller/ のような URL を次のルートにルートさせることです。 index.php?page=controller を明確かつ簡潔な方法で記述します。さらに、http://localhost/controller/param/value/param/value などのパラメーターを含む URL をサポートする必要があります。これは、GET で http://localhost/controller/?param=value¶m=value にマップされる必要があります。

これを実現するには、.htaccess ファイルの書き換えルールを使用して、シンプルかつ効果的なソリューションを実装できます:

RewriteRule ^([\w\d~%.:_\-]+)/(.+)$ index.php?page=&params= [NC, QSA]
ログイン後にコピー
  1. 書き換えパターン: RewriteRule はパターン ^([wd~%.:_-] )/(. )$ で始まり、コントローラ名とそれに続くスラッシュ、およびスラッシュで区切られた追加パラメータで構成される URL に一致します。
  2. ターゲット URL: ターゲット URL は、index.php?page=$1¶ms=$2 です。ここで、$1 はコントローラー名を表し、$2 はパラメーター文字列全体を表します。
  3. フラグの書き換え: NC フラグ (大文字と小文字を区別しない) は大文字と小文字を区別しない一致を保証しますが、QSA フラグ (クエリ) は、 String Append) は、既存の GET 文字列を書き換えルールのパラメーターと連結します。

このルールを適用すると、http://localhost/controller/param/value/param/value のような URL が作成されます。 Index.php?page=controller¶ms=param/value/param/value に書き換えられます。これにより、GET パラメータを管理し、元の URL 構造を維持するクリーンで簡単な方法が提供されます。

PHP コードでこれらのパラメータにアクセスするには、パラメータ文字列を含む $_GET['params'] を使用できます。その後、区切り文字 (/ など) を使用して分割し、個々のパラメータ値にアクセスできます。

以上がクリーン ルーティングのために .htaccess の GET 変数を使用して URL を書き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート