Столкнулся с проблемой. Есть такая ситуация:
1) Часть приложения - это обычный себе Yii2-проект, контроллеры, вьюхи и т.д.
2) Другая, малая часть - это по сути один контроллер, который начинается от actionIndex и далее работает на Angular.
Все вроде бы ничего, Angular часть работает в режиме html5 и для пользователя все выглядит как обычно в плане url'ов.
Но есть проблема с переходами по ссылкам копипастом. Есть очень большая вероятность, что это будет использоваться часто. Собственно проблема в том, что переход по таким ссылкам дает 404-ую ошибку. Роуты в angular настроены так:
Код: Выделить всё
.config(function($routeProvider, $locationProvider) {
base = '/construct/';
$routeProvider.when(base+':className', {
templateUrl: '/construct/builder',
controller: 'BuilderCtrl',
reloadOnSearch: false
}).otherwise({
templateUrl: '/construct/heroes',
controller: 'HeroesCtrl'
});
$locationProvider.html5Mode(true);
});
В мануалах пишут, что нужно настроить rewrite особым образом под корень Angular-приложения, но попытки совместить это с основным правилом ни к чему не приводят.
Код: Выделить всё
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