Php 如何在没有根路径的Yii中使用漂亮的url?

Php 如何在没有根路径的Yii中使用漂亮的url?,php,yii,url-routing,yii2,Php,Yii,Url Routing,Yii2,根据文档,我在Yii中打开了漂亮的url 主页是可见的,但当我尝试转到另一个URL时,它会给我一个错误 在此服务器上找不到请求的URL/xxx/web/shopping/search 我试图创建一个通用规则,但没有用 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'enableStrictParsing' => fa

根据文档,我在Yii中打开了漂亮的url

主页是可见的,但当我尝试转到另一个URL时,它会给我一个错误

在此服务器上找不到请求的URL/xxx/web/shopping/search

我试图创建一个通用规则,但没有用

    'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'enableStrictParsing' => false,
        'rules' => [
          // ...
          '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
        ],
    ],

但是它没有帮助。

这是因为Apache。没有指向
index.php
,Apache不知道将请求发送到哪里,并且是发出错误的那个。这将默认为
index.php

    'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'enableStrictParsing' => false,
        'rules' => [
          // ...
          '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
        ],
    ],
# For pretty URLs
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
试试这个

    'urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true,
            'showScriptName' => 'false'
    ],

当然可以子文件夹没有限制,您提到的引用适用于具有服务器名称的规则。