Yii2 showScriptName给我404

时间:2018-12-28 13:17:16

标签: routing yii2

设置showScriptName给我一个404错误。我有一个SiteController像这样:

class SiteController extends Controller
{
        public function actionIndex() {
            return $this->render('index');
        }

        public function actionJoin() {
            return $this->render('join');
        }

        public function actionLogin() {
            return $this->render('login');
        }
}

对应的文件位于:

λ ls -lah views\site\
total 3,0K
drwxr-xr-x 1 user 197121  0 дек 28 15:43 ./
drwxr-xr-x 1 user 197121  0 дек 27 10:40 ../
-rw-r--r-- 1 user 197121 16 дек 27 10:42 index.php
-rw-r--r-- 1 user 197121 16 дек 28 15:43 join.php
-rw-r--r-- 1 user 197121 15 дек 28 15:44 login.php

我的导航栏小部件是:

$menu = [
    ['label' => 'Join', 'url' => ['/site/join']],
    ['label' => 'Log in', 'url' => ['/site/login']]
];
echo Nav::widget([
    'options' => ['class' => 'navbar-nav navbar-right'],
    'items' => $menu
]);

像一个魅力一样工作,给我以下网址:

myapp.test/index.php/site/login

但是,如果在config \ web.php中将showScriptName设置为true,它将开始给我404。我该如何解决?

1 个答案:

答案 0 :(得分:0)

仅需一点点搜索就可以在SO上基本找到,因此所有功劳都归于skyc:

解决方案:缺少/backend/web/.htaccess文件

RewriteEngine on

RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d

RewriteRule。 index.php