Zend フレームワークを使用しているサイトで、すべてのユーザーが foo.com/username を持つことができるようにする必要があります。
問題は、foo.com/login およびその他のコントローラーをそのまま動作させたいということです。そのため、使用するコントローラーの 1 つとしてユーザーを指定できないことを既に検証しています。htaccess を変更できないか、mvc 構成が機能しません。だから私はルーターを使用しています。
次のようなものを使用する場合、私はそれを知っています:
$routes = array();
$routes['entry'] = new Zend_Controller_Router_Route_Regex('SOME REGEX HERE',
array(
'controller' => 'profile',
'action' => 'show'
),
array(
'id' => "dsadsa", // maps first subpattern "(\d+)" to "id" parameter
1 => 'id' // maps first subpattern "(\d+)" to "id" parameter
)
);
$router->addRoutes($routes);
正規表現に一致するものすべてがリダイレクトされるようにすることはできますが、非常に大きな OR でコントローラーを実際にリストする必要がないより良い方法 (どういうわけか 2 つのルーターをチェーンする) があるかどうかはわかりません。
何か案が?