0

mod_rewrite ルールにいくつか問題があります。処理したい 3 つの異なる URL パターンがあります。

  1. http://example.com/%module%/%view%-%args%.html
  2. http://example.com/%module%/%view%.html
  3. http://example.com/%module%

次の mod_rewrite ルールは実際には機能しません。また、クエリ (例: user.html?foo=bar) が効果がないという問題もあります。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^([0-9A-Za-z_-]*)/?([0-9A-Za-z_]+)-?([0-9A-Za-z_,]*)\.html$ index.php?__module=$1&__view=$2&__argv=$3

    RewriteRule ^([0-9A-Za-z_-]*)/?$ index.php?__module=$1&__view=&__argv=
</IfModule>
4

1 に答える 1

3

クエリ文字列については、QSA (Query String Append) でルールにフラグを立てます。

設定しようとしているのは「フロントコントローラー」と呼ばれるもので、すでにかなりの数の既製のものがあります。おそらく、いくつかの一般的な PHP フレームワークを調べて、自分に合ったものを採用する必要があります。

于 2008-10-09T19:43:04.053 に答える