对于高级应用,请执行以下步骤
1)将以下htaccess添加到前端/ web
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
2)将以下htaccess添加到安装了应用程序的根文件夹中
# prevent directory listings
Options -Indexes
IndexIgnore */*
# follow symbolic links
Options FollowSymlinks
RewriteEngine on
RewriteRule ^admin(/.+)?$backend/web/$1 [L,PT]
RewriteRule ^(.+)?$frontend/web/$1
3)使用顶部的以下内容编辑您的前端/ config / main.php文件
use \yii\web\Request;
$baseUrl = str_replace('/frontend/web', '', (new Request)->getBaseUrl());
4)将请求组件添加到同一文件中的components数组中,即frontend / config / main.php
'components' => [
'request' => [
'baseUrl' => $baseUrl,
],
],
就是这样.现在你可以在没有web / index.php的情况下访问前端
对于第二个问题,您需要在URL管理器组件中为其编写规则.
像这样的东西:
'urlManager' => [
'baseUrl' => $baseUrl,
'class' => 'yii\web\UrlManager',
// Disable index.php
'showScriptName' => false,
// Disable r= routes
'enablePrettyUrl' => true,
'rules' => array(
'transaction/getrequestdetail/' => 'transaction/getrequestdetail',
),
],