ZendFrameworkにサイトがあります。URLで特定のコントローラー名を非表示にします。以下の要件を説明します。
現在のURL:http ://abcd.com/user/john (ユーザーのプロファイルページ)
優先URL:http ://abcd.com/john
優先URLがブラウザに表示されます。また、訪問者がURLにユーザー名(例:http://abcd.com/smith)を入力すると、ブラウザーにユーザープロファイルが表示されます。
私のサイトには他のコントローラーもあり(たとえばhttp://abcd.com/registration)、それらのコントローラー名を変更したり非表示にしたりしたくありません。
これは、どちらがユーザー名で、どちらがURLのコントローラーであるかを認識するのが難しい場合があることを知っていますが、私は本当にこれを達成したいと思っています。必要なものを教えてください。
以下のhtmlコードを使用してユーザープロファイルのリンクを表示していることに注意してください。
<a href="<?php echo $site?>user/john">John</a>
また、bootstrap.phpファイルに下記のルーターを追加しました。
$ routeUser = new Zend_Controller_Router_Route('user /:username /'、array('controller' =>'User'、'action' =>'index'));
$ router-> addRoute('user'、$ routeUser);