Yii框架和HTML5模板文件一起

Yii框架和HTML5模板文件一起,yii,yii2,Yii,Yii2,我有一个问题: 我的网站是localhost/carfinancing/index.php 我现在有不同的index.php页面,它位于HTML5模板中,Yii安装在“应用程序”目录中 当我复制粘贴此目录时,localhost/carfinancing/application/web/显示我的yii索引页面,localhost/carfinancing/application/web/在线汽车贷款应用程序显示另一个页面 有没有办法让yii索引文件显示:localhost/carfinancing

我有一个问题: 我的网站是localhost/carfinancing/index.php

我现在有不同的index.php页面,它位于HTML5模板中,Yii安装在“应用程序”目录中

当我复制粘贴此目录时,localhost/carfinancing/application/web/显示我的yii索引页面,localhost/carfinancing/application/web/在线汽车贷款应用程序显示另一个页面

有没有办法让yii索引文件显示:localhost/carfinancing/application,另一个页面显示:localhost/carfinancing/online car loan application?
我的意思是从url中删除“/web/”这个词?

看起来您这里有两个问题。我将努力回答这两个问题

1您的HTML5模板应该是视图/[控制器名称]中的视图文件 由于Yii2是一个MVC框架,它的设计目的是让所有请求都到达一个控制器,然后控制器提供一个视图。如果您将文件放在web上以便直接查看,那么您就失去了MVC的好处

2为了从URL中删除web/目录,您需要使用URL管理器。 在
config/web.php

$config = [
...
'components' => [
'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
],
您还需要按如下方式设置.htaccess:

Options +FollowSymLinks
IndexIgnore */*
 
RewriteEngine on
 
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
 
# otherwise forward it to index.php
RewriteRule . index.php
然后将所有内容移出
public\u html
目录,并将
web
目录中的所有内容放回
public\u html


如果您仍然有问题,请参阅本文:

您的问题似乎与yii2相关。如果我将主机直接指向“web”,那么localhost/carfinancing/index.php呢?它有html5模板。让我试试。我会让你知道如果我尝试这个会发生什么。你成功了吗?没有成功。这是我的结构。affiliate/application/build/css/images/js/login/index.php和yii2安装在application/directory@Mmelcor中。您使用的是基本还是高级yii2模板?