0

CroogoRouter::connectCakePHP の関数を介して URL を表示するにはどうすればよいですか? コントローラーの名前と、ルートファイルのアクションを次のように渡しました。

CroogoRouter::connect('/', array('admin' => true, 'controller' => 'dashboard', 'action' => 'index'));

ダッシュボード ページにリダイレクトされますが、URL が正しく表示されません。私は自分の URL を as にしたいのですが、localhost/abc/admin/dashboardそれは aslocalhost/abcのみとして表示されています。

4

2 に答える 2

2

/ルート エイリアスとしてwebroot ( ) を使用しているため、admin/dashboardビットは表示されません。本当にそれが必要な場合は (派手な表示目的のためだけならお勧めしません)、リダイレクトする単純なコントローラー アクションを作成する必要があります。たとえば、ルートを次のように変更した場合:

CroogoRouter::connect('/', array('controller' => 'dashboard', 'action' => 'home'));

そして、DashboardsControllerこのアクションを作成します。

public function home() {
    $this->autoRender = false; // We have no view, so don't render anything
    $this->redirect(array('admin' => true, 'controller' => 'dashboard', 'action' => 'index'));
}

必要に応じて URL が表示されます。繰り返しますが、表示目的のみ (「見栄え」を良くするため) であり、SEO の目的ではない場合、このような醜い回避策を使用することはお勧めしません。しかし、どちらの方法でもうまくいくはずです。

于 2012-12-26T09:50:15.797 に答える
0

コントローラー名を確認してください。コントローラー名はダッシュボードか何かにする必要があると思います。

このリンクを確認すると役立つかもしれませんhttp://bakery.cakephp.org/articles/Frank/2009/11/02/cakephp-s-routing-explained

于 2012-12-26T09:30:49.577 に答える