Yii Can';当';URL格式';设置为';路径';

Yii Can';当';URL格式';设置为';路径';,yii,seo,Yii,Seo,我尝试了echo$\u-GET['id'],var\u-dump($\u-GET),但两者都没有给出理想的结果 在应用程序的main.php文件中启用urlFormat后,我无法再获取名为“id”的查询参数 url的格式为:index.php/controller/action/param(我没有htaccess文件) 现在URL看起来像:index.php/article/read/daily\u proxy\u list 使用var\u dump($\u GET)仅返回: array '

我尝试了
echo$\u-GET['id']
var\u-dump($\u-GET)
,但两者都没有给出理想的结果

在应用程序的main.php文件中启用
urlFormat
后,我无法再获取名为“id”的查询参数

url的格式为:index.php/controller/action/param(我没有htaccess文件)

现在URL看起来像:
index.php/article/read/daily\u proxy\u list

使用
var\u dump($\u GET)
仅返回:

array
  'daily_proxy_list' => string '' (length=0)
下面是我如何创建指向此位置的URL:

$this->createUrl('article/read', array('id'=>$key));
我的问题是,如何获取名为“id”(或任何其他名称)的查询参数?

您是否尝试过使用$服务器['query\u STRING']或类似的工具?

您是否尝试过使用yii文档中的$服务器['query\u STRING']或类似工具?

Since version 1.1.4, Yii has added support for automatic action parameter binding. That is, a controller action method can define named parameters whose value will be automatically populated from $_GET by Yii.
因此,为了获得值
$\u get['id']
,只需在
actionRead()
中添加一个参数
$id
。Yii将自动使用
$\u GET['id']

public function actionRead($id)
{
    var_dump($id);
}
有关更多信息和示例,请参阅yii文档中的

Since version 1.1.4, Yii has added support for automatic action parameter binding. That is, a controller action method can define named parameters whose value will be automatically populated from $_GET by Yii.
因此,为了获得值
$\u get['id']
,只需在
actionRead()
中添加一个参数
$id
。Yii将自动使用
$\u GET['id']

public function actionRead($id)
{
    var_dump($id);
}

有关更多信息和示例,请参阅

否,但我猜有一种更实用的方法(例如内置的YII函数)而不是尝试将URL拆分为单独的部分。否,但我猜有一种更实用的方法(例如内置的YII函数)而不是试图将URL拆分为单独的部分。这并没有解决问题。似乎只有在使用默认的“id”查询参数时才会出现。如果我使用任何其他名称,例如
index.php/article/read?name=daily\u proxy\u list
,它可以正常工作。其他工作正常的场景:
index.php/article/read/id/daily_proxy_list
('id'特别包括),
index.php/article/read?id=daily_proxy_list
(不使用Mod_Rewrite作为查询参数,哪种类型的转义)在应用程序配置中指定了url规则?然后将其作为问题的编辑发布否,除了
'urlFormat'=>'path',showScriptName'=>false,
,我还没有对标准的main.php配置文件进行任何更改。@ColorWP.com您的配置包含
'showScriptName'=>false
,您还可以获得类似
index.php/article/read?name=daily\u proxy\u list
的URL。这是不可能的。请记住,如果要使用
'showScriptName'=>false
则必须使用一些。
htaccess
重写规则这并不能解决问题。似乎只有在使用默认的“id”查询参数时才会出现。如果我使用任何其他名称,例如
index.php/article/read?name=daily\u proxy\u list
,它可以正常工作。其他工作正常的场景:
index.php/article/read/id/daily_proxy_list
('id'特别包括),
index.php/article/read?id=daily_proxy_list
(不使用Mod_Rewrite作为查询参数,哪种类型的转义)在应用程序配置中指定了url规则?然后将其作为问题的编辑发布否,除了
'urlFormat'=>'path',showScriptName'=>false,
,我还没有对标准的main.php配置文件进行任何更改。@ColorWP.com您的配置包含
'showScriptName'=>false
,您还可以获得类似
index.php/article/read?name=daily\u proxy\u list
的URL。这是不可能的。请记住,如果要使用
'showScriptName'=>false
必须使用一些。
htaccess
重写规则