YII 2 Url Route 不适用于 $_GET 参数

大卫

我是 Yii2 的新手,他们的 URL 规则有点棘手。我有一个这样SiteController的动作

public function actionSuccessStories($slug = null)
{
    // some codes
}

在我的配置中,我有这个

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'enableStrictParsing' => true,
    'rules' => [
        // Default routes
        '<controller:\w+>/<id:\d+>' => '<controller>/view',
        '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
        '<controller:\w+>/<action:\w+>' => '<controller>/<action>',

        // page routes
        'success-stories/<slug:\w+>' => 'site/success-stories',

        // Remove 'site' parameter from URL
        '<action:(.*)>' => 'site/<action>',
    ],
],

在我看来,我有这个来生成我的网址

Url::to(['site/success-stories', 'slug' => 'slug_value'], true);

我的问题是Url::to();创造success-stories?slug=slug_value

代替

success-stories/slug/slug_value我这样做对吗?我想要完成的是第二种格式。

我已经阅读了与我的相关的这个问题,但它仅涵盖模块Yii2 url manager don't parse urls with get parameter

尤皮克

将规则更改为:

'rules' => [
    // page routes
    'success-stories/<slug:\w+>' => 'site/success-stories',

        // Default routes
    '<controller:\w+>/<id:\d+>' => '<controller>/view',
    '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
    '<controller:\w+>/<action:\w+>' => '<controller>/<action>', 

    // Remove 'site' parameter from URL
    '<action:(.*)>' => 'site/<action>',
],

规则的顺序很重要,Yii2 会尝试一一匹配规则,如果合适 - 它会使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Hamcrest泛型地狱#2:iterableWithSize给出错误“不适用于参数”

Yii2:复选框规则不适用于注册条款和条件

Python 2 maketrans()函数不适用于Unicode:实际上,“参数的长度不同”

RestTemplate不适用于参数(URL,Request,Class <String>)

使用Curl从Yii2进行WP自动登录不适用于首次加载

在Javascript中获取URL参数不适用于urlencoded'&'

Express GET路由不适用于参数

Django的重定向应用程序不适用于URL参数

Websocket适用于EC2 URL,但不适用于ElasticBeanstalk URL

Yii2 Twig不适用于页面浏览

React Route不适用于嵌套URL

GET Route Laravel中的URL参数

URL重写不适用于ZF和apache2

Yii参数化主机名不适用于子域

括号扩展不适用于少于2个参数

不适用于参数()

URL重写筛选器不适用于包含特殊字符的查询参数

RBAC Yii2不适用于默认角色

“ next('route')”不适用于“ .use()”

YII2:“ enableAjaxValidation”,“ enableClientValidation”不适用于自定义规则

当我使用中文作为URL参数时,它不适用于python

urlManager规则不适用于模块Yii2

Yii2 自定义 ActionFilter 不适用于定义为通配符的“仅”

yii2 - 获取 URL 参数

Yii2 gridview 搜索不适用于日期字段

Ruby net/http/get 不适用于 url,但适用于 uri。为什么?

ASP.NET Core API 的 GET 请求中的可选参数不适用于 Swagger

参数查询不适用于 API Get 方法

选项动词不适用于 Yii 2 应用程序中的所有记录列表