を使用していると仮定すると、と PHP ベースのロジックをApache
組み合わせて使用することで、これを簡単に実現できます。mod_rewrite
たとえば、.htaccess
または vhost の定義では、すべてのリクエストを 1 つのハンドラを介してルーティングできますindex.php
。
# Don't rewrite requests for e.g. assets
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*+)$ index.php?q=$1 [L]
...次に、index.php ファイルで次のようにします。
$target = $_REQUEST['q'];
/* parse the request and include the appropriate controller PHP */
たとえば、 の要求/products/1234
により、controllers/products.php
ハンドラーが含まれる場合があります。そのハンドラーは、その後、 product に作用する可能性があります1234
。REST を使用しているため、クエリ文字列パラメーターを持つ元の要求を気にする必要はありません。
やろうとしているように見えることを達成する方法は複数ありますが、これはその 1 つにすぎません。最終的に何を使用するかは、特定の要件が何を指示するかによって異なります。上記のパターンはかなり一般的ですが、多くのフレームワークがそれまたはそれに似たものを使用しています。