设置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。我该如何解决?
答案 0 :(得分:0)
仅需一点点搜索就可以在SO上基本找到,因此所有功劳都归于skyc:
解决方案:缺少/backend/web/.htaccess文件
RewriteEngine on
RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule。 index.php