私は現在 Web アプリを開発していますが、リクエストをルーティングするための htaccess ルールを決定する際に行き詰まりました。
私はこのようなものを持ちたいです(m =モジュール、a =アクション、o =アクションのオブジェクト):
www.domain.com/m/a/o
一般的なリクエストについては、これを用意する予定です(oは空です):
www.domain.com/users/login
to: www.domain.com/index.php?m=users&a=login
www.domain.com/users/logout
to: www.domain.com/index.php?m=users&a=logout
しかし、サイト全体のルーティングについては、次のようにします。
www.domain.com/projects/show/123
to: www.domain.com/index.php?m=projects&action=show&object=123
一般的に言えば、次のようにリダイレクト用に .htaccess を設定したいルールがあります。
www.domain.com/EMPTY
to: www.domain.com?index.php
www.domain.com/([^-]a-z0-9)
to: www.domain.com?index.php?m=$1
www.domain.com/([^-]a-z0-9)/([^-]a-z0-9)
to: www.domain.com?index.php?m=$1&a=$2
www.domain.com/([^-]a-z0-9)/([^-]a-z0-9)/([^-]a-z0-9)
to: www.domain.com?index.php?m=$1&a=$2&o=$3
これを手伝ってもらえますか?
私はこのようなことを試みましたが、ドメイン自体よりも長い間失敗しました:
RewriteRule ^/([^-]a-z0-9+)$ index.php?m=$1 [L]
RewriteRule ^/([^-]a-z0-9+)/([^-]a-z0-9+)$ index.php?m=$1&a=$2 [L]
RewriteRule ^/([^-]a-z0-9+)/([^-]a-z0-9+)/([^-]a-z0-9+)$ index.php?m=$1&a=$2&o=$3 [L]