現在、mysite.com/profile は mysite.com/profile.php に書き換えられています。また、mysite.com/profile/43/settings を mysite.com/profile.php?1=43&2=settings に、mysite.com/thread/223/reply を mysite に書き込むなど、引数をクリーンな形式で渡したいと考えています。 .com/thread.php?1=223&2=返信。
1 に答える
0
通常、そのようなクリーンなパラメーターを有効にするために、実際に別の書き換えルールを使用することはありません。同じ正確なフロント コントローラー書き換えルールを使用して、すべてを に転送しprofile.php
ます。次に、スクリプト内で URI を特定のコンポーネントに分割します (たとえば、特定のリソースと一致しない URI の適切なヘッダーを提供します)。
この理由は、書き換えルールが任意の数のパラメーターをうまく処理できないためです。たとえば、常に 2 つのパラメーターがあることがわかっている場合は、次のようなことを簡単に行うことができるため、書き換えルールを使用するのは簡単です。
RewriteRule /?profile/(.*)/(.*) /profile.php?param1=$1¶m2=$2
しかし、いくつのパラメーターを取得するかわからない場合、そのようなケースを処理するために、より複雑なビルドの書き換えルールが必要になります。
URI を調べて適切なアクションを実行するには、PHP ルーター クラスを使用することをお勧めします (Google で検索すると、多くのオプションやガイダンスが見つかるはずです)。
于 2013-02-05T23:25:12.713 に答える