Мой вопрос заключается в том, что у меня будет ?
в начале имени параметра get. Например, если URL равен
https://example.com/path?id=2
, я получу параметр get с именем ?id
. Как я могу получить id
без ?
вместо того, чтобы использовать такой способ:
https://example.com/path?&id=2
Он подключен:)
------------- --- Вот подробности ----------------
Конфигурация менеджера URL:
[
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
[
'pattern' => '<lang:(zh|en)>/login',
'route' => 'account/default/login',
],
[
'pattern' => '<lang:(zh|en|api)>/<modules>/<controller>/<action>',
'route' => '<modules>/<controller>/<action>',
'defaults' => [
'lang' => 'zh',
'modules' => 'dashboard',
'controller'=> 'default',
'action' => 'index',
],
],
],
],
];
Видите ли, я буду использовать * Параметр 1018 * для управления языковой версией веб-сайта. И я обнаружил, что Yii будет обрабатывать lang
в качестве параметра get. Так что это проблема. lang
может быть первым параметром get, поэтому php обрабатывает ?
как часть имени параметра.
если я распечатаю параметры получения, я получу это.
https://example.com/en/modules/controller/action?id=1
Код будет:
var_dump(\Yii::$app->request->get());
Будет напечатано:
array(2) { ["lang"]=> string(3) "en" ["?id"]=> string(1) "1" }
THX A LOT.