フォームを送信すると、ルーティングが無視され、代わりにホームにリダイレクトされるように見えるという問題があります。
私のmain.phpルーティングでは:
'<language\w+>/profile/<slug:[\w\-]+>' => 'profile/index',
'<language\w+>/<action:\w+>' => 'site/index',
私のフォーム:
<form action="<?php echo Yii::app()->getBaseUrl()."/".Yii::app()->language;?>
/profile/calendar" method="post">
どの出力に
<form action="/domainname/nl/profile/calendar" method="post">
注:ローカルホストでこれをテストしているため、ドメイン名があります。
ただし、送信ボタンを押すと、正しいページではなくホームに転送されます。/domainname/nl/profile/calendar
ブラウザにアクセスするだけで機能し、正しいコントローラーが表示されます。なぜそれがフォームで機能しないのかわかりません。
同じ Web サイトの別のフォームには、次のようなものがありますが、これもルーティングで正常に機能します。
<form action="/domainname/nl/profile/info" method="post">
これら 2 つのフォームの違いは、最後のフォームは CActiveForm ウィジェットを介して作成され、最初のフォームは作成されないことです。