0

私は PhalconPHP で最初のアプリに取り組んでいるので、作業中にドキュメントを深く掘り下げていますが、これはカバーされていないようです。

私のアプリが www.myapp.tld で実行されているとしましょう。状況によっては、ユーザーをホームページにリダイレクトする必要があり、そのために次のコードを使用しています。

if ($haveToRedirect) {
    $this->response->redirect();
    $this->view->disable();
    return;
}

代わりに、www.myapp.tld にリダイレクトする場合、ユーザーは www.myapp.tld/index にリダイレクトされます。さまざまなリダイレクト呼び出しを試しましたが、すべて同じ結果になります:

    $this->response->redirect('');
    $this->response->redirect('/');
    $this->response->redirect('/', TRUE);

アプリのブートストラップで、BaseUri を「/」に設定しました。

$di->set('url', function() {
    $url = new Phalcon\Mvc\Url();
    $url->setBaseUri('/');
    return $url;
});

「インデックス」が追加されないようにして、「www.myapp.tld」にリダイレクトする方法はありますか?

4

2 に答える 2

1

ファイルが指定されていない場合、デフォルトでそのディレクトリのインデックス ページに移動します。ファイルの場所を指定する必要があります。また、URL ではなく URI を試してください

于 2015-01-04T17:31:39.317 に答える
1

「/index」へのリダイレクトの原因は、実は数週間前に作成した Permission クラスにありました。それは持っていました:

$this->response->redirect('index');

ゲストがアクセスできなかったすべてのコントローラーに対して。新しいコントローラーを追加して以来、インデックスに継続的にリダイレクトされ、コントローラーに配置した条件付きリダイレクトを削除すると、リダイレクトが別の場所から来ていることに気付きました。

とにかく、これです。教訓 - 次回は、助けを求める前に「index」を grep してください。:)

于 2015-01-04T18:31:12.847 に答える