Yii основной URL переписать
Я новичок в php, новичок в mvc, новичок в yii и новичок в переписывании URL. Итак, извините, если я спрашиваю что-то очень простое.
Я скрыл index.php (из метода htaccess, обсуждаемого на форумах yii)
В моем urlmanager у меня есть это,
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>'
),
'showScriptName'=>false,
У меня 3 файла в папке view / site.
'поездка',«Пригласить»,'LinkedIn'Теперь моя домашняя страница должна перенаправить на действие «путешествие» (то есть открыть «сайт / путешествие.php»)
Итак, я думаю, это было бы
'/' => 'site/journey'
Это тоже работает.
Теперь я хочу, чтобы «путешествие / приглашение» вызывало действие «пригласить», то есть открывать сайт / приглашение.php
И «travel / linkedin» должен вызывать действие «linkedin», то есть «site / linkedin.php».
но,
'journey/invite' => 'site/invite',
'journey/linkedin' => 'site/linkedin'
не работает.
Кроме того, кто-то может помочь мне понять это,
<controller:\w+>/<id:\d+>
то есть, что такое контроллер в URL и что означает «w +»?
Ссылка на руководство тоже поможет.
Отредактировано после предложения bool.dev:
Как вы сказали, изменил код (я тоже пробовал ранее, удалив все правила по умолчанию). Теперь мой менеджер URL похож,
'/' => 'site/journey',
'journey/invite' => 'site/invite',
'journey/linkedin' => 'site/linkedin',
'<controller:\w+>/<id:\d+>'=>'view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
Но выдает ошибку
"Предупреждение: require_once (): действует ограничение open_basedir. Файл (/var/xyz.com /../ yii / framework / yii.php) находится за пределами разрешенного пути (путей): (/ usr / share / php: / USR / доли / груша: / USR / доли / PHP / libzend-каркасного PHP: / вар /*/tmp:/var/xyz.com) в /var/xyz.com/journey.php в строке 12 Предупреждение: require_once (/var/xyz.com /../ yii / framework / yii.php): не удалось открыть Поток: операция не разрешена в /var/xyz.com/journey.php в строке 12 Неустранимая ошибка: require_once (): не удалось открыть обязательное '/var/xyz.com/../yii/framework/yii.php' (include_path) = '.: / usr / share / php: / usr / share / php / libzend-framework-php') в /var/xyz.com/journey.php в строке 12 '
когда я делаюxyz.com/journey/invite
или дажеxyz.com/journey
Редактировать:
Это была проблема с разрешением, сработало предложение @ bool.dev поставить конкретные правила :)