Почему в YII2 не читается GET параметр в экшене определенного имени?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
EVOSandru6
Сообщения: 605
Зарегистрирован: 2014.07.04, 13:33

Почему в YII2 не читается GET параметр в экшене определенного имени?

Сообщение EVOSandru6 »

Добрый день,

Есть такая проблема. При том, что на локалке все работает адекватно, на хостинге адрес вида:

hostname.com/driver/transports/set-image?id={id}

Для действия:

Код: Выделить всё

...
use yii\web\Controller;
class BasicController extends Controller {
...
     public function actionSetImage($id)
    {
        echo $id;
        die();
    }
...
}

Выдает:

Missing argument 1 for app\components\BasicController::actionSetImage(), called in /var/www/vhosts/hostname.com/httpdocs/modules/driver/controllers/TransportsController.php on line 22 and defined

Корневой .htaccess:

Код: Выделить всё

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

RewriteCond %{REQUEST_URI} !^/(web)
RewriteRule ^assets/(.*)$ /web/assets/$1 [L]
RewriteRule ^css/(.*)$ web/css/$1 [L]
RewriteRule ^js/(.*)$ web/js/$1 [L]
RewriteRule ^images/(.*)$ web/images/$1 [L]
RewriteRule (.*) web/$1

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /web/index.php
web/.htaccess:

Код: Выделить всё

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

urlManager:

Код: Выделить всё

'urlManager' => [
            'class' => 'yii\web\UrlManager',
            'showScriptName' => false,
            'enablePrettyUrl' => true,
            'rules' => [
                 'login' => 'auth/login',
                 'signup' => 'auth/signup',
                 'profile' => 'users/profile',
            ],
        ],

Вроде как все стандартно. Вариант Yii2 типа basic.

Если например исправить название actionSetImage на actionSetImag, а url на:

hostname.com/driver/transports/set-imag?id={id}

то я нормально получаю айдишник даже на хостинге.

В чем может быть загвоздка?

Проблема в том, что я не могу сформулировать вопрос для службы поддержки, странно, что на локалке все работает(
mkramer
Сообщения: 531
Зарегистрирован: 2014.12.14, 13:02

Re: Почему в YII2 не читается GET параметр в экшене определенного имени?

Сообщение mkramer »

А хостер не позволяет задать Document Root сразу на web? Чтоб первый htaccess был не нужен
EVOSandru6
Сообщения: 605
Зарегистрирован: 2014.07.04, 13:33

Re: Почему в YII2 не читается GET параметр в экшене определенного имени?

Сообщение EVOSandru6 »

mkramer писал(а): 2017.05.22, 09:26 А хостер не позволяет задать Document Root сразу на web? Чтоб первый htaccess был не нужен


Благодарю. Позволяет.
Ответить