Yii 2.0 advanced;
В /frontend/config/main.php в секции 'components' пишу
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
// 'enableStrictParsing' => true,
'rules' => [
[
'pattern' => '',
'route' => 'site/index',
],
[
'pattern' => '<action:(?(?=(index|site\/index))|(?(?!.*[\/].*).*))>',
'route' => 'site/<action>',
],
],
],
Чтобы проверить, правильно ли работает, во view для actionIndex пишу:
<?=Url::to(['site/contact'])?>
<br/><a href="<?=Url::to(['site/contact'])?>">Анкор</a>
Перехожу по ссылке - 404.
А если поставить 'enablePrettyUrl' => false, то ссылка формируется некрасивая, но рабочая,
/index.php?r=site%2Fcontact
Вопрос в том, как сделать правильный URL manager? Ведь urlManager ссылку из контроллер/экшн в URL-адрес формирует. А вот обратно из URL-адреса в контроллер/экшн преобразовать не может.
urlManager
Re: urlManager
Вы не забыли внести правки в .htaccess? Вот пример.
-
- Сообщения: 57
- Зарегистрирован: 2016.10.16, 00:15
Re: urlManager
Этот .htaccess должен быть в корне сайта? Или в /frontend/web/ ?
Apache настроен следующий образом
<VirtualHost *:80>
ServerAdmin Maksat1991@mail.ru
ServerName advanced.local
ServerAlias www.advanced.local
DocumentRoot /home/maksat/www/advanced
ErrorLog ${APACHE_LOG_DIR}/advanced_error.log
CustomLog ${APACHE_LOG_DIR}/advanced_access.log combined
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
До добавления такого файла в .htaccess я видел главную страницу только по url-адресу /frontend/web
По логике после добавления в корень сайта указанного .htaccess я должен видеть главную страницу сразу же, по адресу /. Но этого не происходит, как-будто и нет этого .htaccess вовсе
Re: urlManager
Может у вас в конфигурации Apache в директиве "AllowOverride" указано "None"?Maksat1991 писал(а): ↑2017.04.14, 13:25 Но этого не происходит, как-будто и нет этого .htaccess вовсе