ここにあるkernel.requestイベントを使用しようとしています
私の例の簡略化されたバージョンは、リダイレクトされたページに既にいる場合を除き、ユーザーをリダイレクトすることです。私が見ている問題は、スタイルのないページを取得していることです。スタイルと js もリダイレクトされる可能性があるようです。
ここにコードがあります
services.yml
services:
app.RequestListener:
class: App\EventListener\RequestListener
arguments: [ @security.context ]
tags:
- { name: kernel.event_listener, event: kernel.request, method: redirectUser }
requestListener.php
class requestListener
{
public function redirectUser()
{
if($event->getRequest()->getPathInfo() != '/') {
//app_frontend_home_index goes to '/'
$event->setResponse(new RedirectResponse($this->router->generate('app_frontend_home_index')));
}
}
}
?test=dont_redirect を設定した場所でもこれを試しましたが、一度設定するとリダイレクトされません
public function redirectUser()
{
if(is_null($event->getRequest()->get('test'))) {
//app_frontend_home_index goes to '/'
$event->setResponse(new RedirectResponse($this->router->generate('app_frontend_home_index', array('test' => 'dont_redirect'))));
}
}
私が提供したリンクのセクションを読んだ後、これは使用する正しいイベントのようです。それを機能させる方法はありますか?