1

我的 yii2 rest 可以很好地处理这个请求 http://extractor-frontend.dev/property?id=JP000004 我会处理这个 http://extractor-frontend.dev/property/JP000004

这是我在 config/web.php 中的 urlManager

urlManager' => [
        'enablePrettyUrl' => true,
        'enableStrictParsing' => true,
        'showScriptName' => false,

        'rules' => [
            [
                'class'=>'yii\rest\UrlRule',
                'pluralize' => false,
                'controller' => 'property',

                'tokens' => [
                    '{id}' => '<id:\\w+>'
                ],
                'extraPatterns' => ['GET,HEAD property/{id}' => 'index',]

            ]
        ],
    ],

这是我在网络上的 .htaccess

RewriteEngine on
Options Indexes
Require all granted
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward it to index.php
RewriteRule . index.php

如果把'enableStrictParsing' => false,

http://extractor-frontend.dev/site/about 工作正常......重写规则工作!

4

1 回答 1

0

我将以下代码用于我的 yii2 应用程序。我认为您的配置方法符合 yii1 的条件。推荐使用 yii2 配置方法。

 'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'rules' => [
            'myaction/<id>/<param2>' => 'site/myaction',

            [
                'pattern' => '<action>',
                'route' => 'site/<action>',
                'defaults' => ['action' => 'index']
            ],
        ]
    ]
于 2016-10-09T18:11:38.993 回答