gpt4 book ai didi

php - yii 路径 url 中的多个 GET 变量

转载 作者:行者123 更新时间:2023-12-04 16:10:28 25 4
gpt4 key购买 nike

我的 Yii urlManager 有问题。我正在使用路径格式并希望传递多个获取变量。网址看起来像这样:

/Yii/app/de/user/admin/id/5/test/hello 

我的.htaccess:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteBase /Yii/app/
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]

我尝试使用 urlManager,但它不适用于以下规则:

'rules' => array(
'<language:\w+>/<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<language:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<language:\w+>/<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
)

$_GET 应该是这样的:

array(3) { 
["/de/user/admin"]=> string(0) ""
["id"]=> string(1) "5"
["test"]=> string(5) "hello"
["language"]=> string(2) "de"
}

有人可以帮助我吗?

编辑:

它必须适用于可变数量的获取参数。

最佳答案

保留官方指南URL Management - Using named parameters作为引用。

您应该编写一个自定义规则,例如:

'<language:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>/test/<test:\w+>'=>'<controller>/<action>'

特别是,如果你想拥有可变数量的参数,你应该将 /* 附加到规则中,如下所示:

'<language:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>/*'=>'<controller>/<action>',

通过这样的规则,您可以获取 URL 为

/de/user/admin/id/2/test2/hello/anotherparam/45/yap/thisothertoo

并将 $_GET 参数绑定(bind)为

'id' => 2
'test2' => 'hello'
'anotherparam' => 45
'yap' => 'thisothertoo'

要记住的最后一件事:检查总是 规则优先级。

关于php - yii 路径 url 中的多个 GET 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20426378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com