ウェブアプリケーションでは、すべてのURLを3つの特定のURLを除いてリダイレクトする必要があります。一部のURLを除き、すべてのページを特定のページにリダイレクトする - Yii
Yii Frameworkではどのようにグローバルに(そして痛みを伴わずに)行うことができますか?すべてのGETリクエストを処理するために使用できるベースコントローラはありますか?
私はYii 2.0を使用しています。
ウェブアプリケーションでは、すべてのURLを3つの特定のURLを除いてリダイレクトする必要があります。一部のURLを除き、すべてのページを特定のページにリダイレクトする - Yii
Yii Frameworkではどのようにグローバルに(そして痛みを伴わずに)行うことができますか?すべてのGETリクエストを処理するために使用できるベースコントローラはありますか?
私はYii 2.0を使用しています。
私はこのまたは類似UrlManager構成使用します。この方法で
'urlManager' => [
'enablePrettyUrl' => true,
'rules' => [
// your rule for specific URL #1,
// your rule for specific URL #2,
// your rule for specific URL #3,
'<controler>/<action>' => 'redirect/target',
],
]
を最初の3つのルールにマッチしていないすべてが最後にマッチしたと'redirect/target'
に移行します。 config/main.phpで
私の同僚は、この種の操作は.htaccessレベルで行う方が良いと指摘しました。私はそれに同意するかどうかはわかりませんが、上記の答えは私が持っていた問題に確実に成功しています。 – lesssugar
:
'components' => [
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'<controller>/<action1>'=>'<redirect>/<target1>',
'<controller>/<action2>'=>'<redirect>/<target2>',
'<controller>/<action3>'=>'<redirect>/<target3>',
'<url:(.*)>'=>'maintenance/index',
],
],
],
リファレンス:[この]お探し Found the solution here
(http://www.yiiframework.com/doc-2.0/guide-runtime-routing .html#default-route)? – cske
実行可能になります。しかし、3つのURLパスを除いて、すべての要求をキャッチするのに 'catchAll'を使用できますか? – lesssugar
また、アプリには多くの名前付きルートが設定されており、デフォルトルートは「空のルート」のみに使用されます。 – lesssugar