Сразу оговорюсь: дома на локалке всё работает, но здесь у меня Winginx, а на хосте, естессно, апач.
С чем столкнулся. Рекомендации по настройке апача отсюда: https://github.com/yiisoft/yii2/blob/ma ... llation.md в .htaccess не срабатывают (404 not found). Собсно там и не обещано, что это обязано работать на публичном виртуальном хосте, мало того, чуть выше предлагаемой конфигурации апача, есть такой абзац:
Но при этом по ссылке «Работа на Shared хостинге» - пустая страница, аналогично дело обстоит и в англоязычной версии документации. Такие вот дела.Информация: Если приложение работает на хостинге где нет доступа к настройкам веб сервера, то можно изменить структуру приложения как описано в разделе «Работа на Shared хостинге».
Запустить basic-приложение (у меня апи на его основе сделано) удаётся с другой конфигурацией:
Код: Выделить всё
AddDefaultCharset utf-8
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
DocumentRoot home/xxxxxx/www/kazkol.ru/basic/web
DirectoryIndex basic/web/index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . basic/web/index.php
// Приложение, которое будет работать с этим Апи, сейчас доступно по адресу: http://spata.metadriver.ru/
Basic-приложение работает исправно, но (!) есть разница в поведении Url'ов в адресной строке браузера (по сравнению с работой под Winginx на локалке) - при запуске оно успешно стартует с урла http://kazkol.ru/, но при переходе по ссылкам "Home, About, Contact, Login" - расширяет адресную строку, добавляя туда вставку "basic/web/", чего на локальном хосте не делает. При удалении ручками этой вставки из адреса, - отображает главную страницу... ну да, мы ж перенаправили все неизвестные запросы туда.
Ладно, по большому счёту плевать на "basic/web/", это конечно удлиняет адрес, но не смертельно.
Смертельно другое - не могу получить доступ к REST-апи ! Вместо JSON-данных в ответе получаю HTML-содержимое главной страницы.
Это при адресации http://kazkol.ru/<module>/<controller> (так у меня работает адресация на локалке). Если же попытаться "последовать за дао" и расширить адресную строку по образу и подобию поведения basic-приложения, то бишь добавить в адрес ту же неизбежную вставку http://kazkol.ru/basic/web/<module>/<controller> , то в респонсе получаю тоже HTML-данные, но уже с содержимым "404 not found" страницы Yii.
Притом что, напомню, - на локалке всё работает ! А так же напомню - на локалке таки Winginx....
И куда теперь рыть? Идеи у кого-нибудь есть?
В Yii пытался шаманить с урл-манагером, ничего не нашаманил и вернул всё взад, как на локалке. А там всё просто:
Код: Выделить всё
'urlManager' => [
'enablePrettyUrl' => true,
// 'enableStrictParsing' => true, // закомментировано, чтоб параллельно работало basic-приложение
'showScriptName' => false,
'rules' => [
[
'class' => 'yii\rest\UrlRule',
'pluralize' => false,
'controller' => [
'books/region', // 01
'books/rajon', // 02
'books/naseljonnyj_punkt', // 03
..............
...............
'books/tip_issledovaniya', // 29
'books/tehnicheskoe_sostojanie', // 30
'books/tehnicheskoe_sostojanie_jelementov_zdanija', // 31
'books/tip_zdanija', // 32
'books/harakter_sovremennogo_ispolzovanija', // 33
],
'except' => ['delete',],
],
],
],
Помогите, плиз, кто чем может. Хотя бы идеями. Может кто сталкивался уже с этими или подобными подводными камнями. Главное я даже не могу сориетироваться куда энергию поиска направлять: то пытаться урл-менеджер Yii приручить, то ли документацию по настройкам .htaccess дальше раскапывать. Занимался уже и тем и другим, и продолжаю, но ... пока имею то, что описал. Возможно придётся менять структуру приложения (переносить index.php в корень сайта), но я пока плохо представляю чем это чревато - где и что именно нужно будет перенастраивать в Yii, а что наоборот не нужно пренастраивать...