Я новичок в Yii2 и в настоящее время получаю сообщение об ошибке при настройке приложения.Я пытаюсь использовать дружественный URL.
В соответствии с DOCS
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
//... rules ...
]
]
Я установил этот раздел в своем приложении как:
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
'/' => 'site/index',
'/entry' => 'site/entry',
'defaultRoute' => 'main/index'
]
]
Это работало нормально, когда я пыталсяоткрыть URL http://yii2/entry.
Если я установил как:
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
'/' => 'site/index',
'/entry' => 'site/entry',
'defaultRoute' => 'main/index'
]
]
Если я попытаюсь открыть URL http://yii2/site/entry Я получил ошибку 404
.
Кроме того, если я установил:
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
'/' => 'site/index',
'<controller>/<action>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'defaultRoute' => 'main/index'
]
]
Если я пытаюсь открыть url http://yii2/site/entry Я также получил ошибку 404.
Почему это происходит?Где я могу прочитать подробнее о маршрутизации в yii2?Где моя ошибка?
UPD: Apache2.2 (win) .htaccess содержит:
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
# if $showScriptName is false in UrlManager, do not allow accessing URLs with script name
RewriteRule ^index.php/ - [L,R=404]
UPD2: я получаю 2 варианта ошибки 404: при попытке использовать правило маршрутизации:
и когда я использую URL, которого нет в массиве правил: