Method Not Allowed (#405)

Solutions like this http://www.yiiframew…wed-405-solved/ didn’t solve my problem. I get error like this

"Method Not Allowed (#405)

Method Not Allowed. This url can only handle the following request methods: . "

Here is my main.php




<?php

/* @var $this \yii\web\View */

/* @var $content string */


use yii\helpers\Html;

use yii\bootstrap\Nav;

use yii\bootstrap\NavBar;

use yii\widgets\Breadcrumbs;

use frontend\assets\AppAsset;

use common\widgets\Alert;

use yii\helpers\Url;


AppAsset::register($this);

?>

<?php $this->beginPage() ?>

<!DOCTYPE html>

<html lang="<?= Yii::$app->language ?>">

    <head>

        <meta charset="<?= Yii::$app->charset ?>">

        <meta name="viewport" content="width=device-width, initial-scale=1">

        <?= Html::csrfMetaTags() ?>

        <title><?= Html::encode($this->title) ?></title>

        <?php $this->head() ?>

    </head>

    <body>

        <?php $this->beginBody() ?>


        <div class="wrap">

            <?php

            NavBar::begin([

                'brandLabel' => 'WSL-Project',

                'brandUrl' => Yii::$app->homeUrl,

                'options' => [

                    'class' => 'navbar-inverse navbar-fixed-top',

                ],

            ]);

            echo Nav::widget([

                'items' => [

                    ['label' => 'Home/About', 'url' => ['site/index'], 'linkOptions' => [''],],

                    ['label' => 'Signup', 'url' => ['/site/signup']],

                    ['label' => 'Login', 'url' => ['/site/login']],

                    ['label' => 'Logout', 'url' => ['/site/logout'], 'linkOptions' => ['data' => ['method' => 'post']]],

                    ['label' => 'Contact', 'url' => ['/site/contact']],

                    [

                        'label' => 'My Sites',

                        'items' => [

                            ['label' => 'My_Formular', 'url' => ['/site/script']],

                            '<li class="divider"></li>',

                            ['label' => 'Database_Praktikum', 'url' => ['/bewerbungen/index']],

                            '<li class="divider"></li>',

                            ['label' => 'Database_Country', 'url' => ['/country/index']],

                        ],

                    ],

                ],

                'options' => ['class' => 'nav-pills'], // set this to nav-tab to get tab-styled navigation

            ]);

            NavBar::end();

            ?>

            <div class="container">


                <?=

                Breadcrumbs::widget([

                    'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],

                ])

                ?>

                <?= $content ?>

            </div>

        </div>


        <footer class="footer">


            <p class="pull-left">&copy; My Company <?= date('Y') ?></p>


            <p class="pull-right"><?= Yii::powered() ?></p>


        </footer>


        <?php $this->endBody() ?>

    </body>

</html>

<?php $this->endPage() ?>

<?php

/*




  ['label' => 'Country_Database', 'url' => ['/country/index']],

 */

?>



Here is my Sitecontroller:




<?php

namespace backend\controllers;


use Yii;

use yii\web\Controller;

use yii\filters\VerbFilter;

use yii\filters\AccessControl;

use common\models\LoginForm;


/**

 * Site controller

 */

class SiteController extends Controller

{

    /**

 	* @inheritdoc

 	*/

    public function behaviors()

    {

        return [

            'access' => [

                'class' => AccessControl::className(),

                'rules' => [

                    [

                        'actions' => ['login', 'error'],

                        'allow' => true,

                    ],

                    [

                        'actions' => ['logout', 'index'],

                        'allow' => true,

                        'roles' => ['@'],

                    ],

                ],

            ],

            'verbs' => [

                'class' => VerbFilter::className(),

                'actions' => [

                    'logout' => [''],

                ],

            ],

        ];

    }


    /**

 	* @inheritdoc

 	*/

    public function actions()

    {

        return [

            'error' => [

                'class' => 'yii\web\ErrorAction',

            ],

        ];

    }


    /**

 	* Displays homepage.

 	*

 	* @return string

 	*/

    public function actionIndex()

    {

        return $this->render('index');

    }


    /**

 	* Login action.

 	*

 	* @return string

 	*/

    public function actionLogin()

    {

        if (!Yii::$app->user->isGuest) {

            return $this->goHome();

        }


        $model = new LoginForm();

        if ($model->load(Yii::$app->request->post()) && $model->login()) {

            return $this->goBack();

        } else {

            return $this->render('login', [

                'model' => $model,

            ]);

        }

    }


    /**

 	* Logout action.

 	*

 	* @return string

 	*/

    public function actionLogout()

    {

        Yii::$app->user->logout();


        return $this->goHome();

    }

}



What action are you trying to access?

I just want to logout user!

Logout action is using POST method, this is why you cannot access it from the browser.