.htaccess для подпапки приложения AngularJS с режимом HTML5

Обзор:

У меня есть приложение AngularJS, которое использует$locationProvider.html5Mode(true) и он подается с сервера Apache. До сих пор я использовал исходный код для доступа к другим, и мне просто нужно было перенаправить на index.html для режима angularJS HTML5. Так что у меня было это для.htaccess файл для моего/app папка.

.htaccess:

<IfModule mod_rewrite.c>

    RewriteEngine on

    # Don't rewrite files or directories
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]

    # Rewrite everything else to index.html to allow html5 state links
    RewriteRule ^ index.html [L]

</IfModule>

Модификации:

Затем я добавил Grunt для минимизации всего решения, которое генерируется в/dist папка приложения (так что теперь минимизированное решение находится в / app / dist). Теперь я хотел бы перенаправить весь трафик моего приложения на минимизированную версию, не заставляя пользователей менять ссылку. Итак, на практике я хотел бы перенаправить каждый вызов из / app в / app / dist.

Структура каталогов сейчас:

app
    dist
        minified versions(css,html,js)

Я пытался использовать некоторые условия изВот в / app .htaccess и переместил другой файл .htaccess в / app / dist, но безуспешно. Я даже не знаю, можно ли объединить эти два способа таким образом. Я знаю, что вместо этого я могу использовать папку dist в качестве / app, но я бы не хотел этого, так как / app - это репозиторий, и его проще обновлять. Так как же мне добиться этого с помощью перенаправления?

Также, во-вторых, можно ли как-то поставить флаг, чтобы я позволил пользователям альфа-версий использовать нормальную (не минимизированную) версию для лучшей отладки?

Обновить:

Я добавил пример проекта для этогоВот, Я просто сохранил исходные файлы .htaccess, которые я показал выше, и вы можете проверить, что обе версии (/test а также/test/dist) работать как указано выше. Кроме того, он, вероятно, имеет некоторый неиспользуемый код и зависимости, но я просто вырезал другие части из моего проекта (не судите: D).

Для этого я использовал начальную конфигурацию с AngularJS 1.4.8, которая могла генерировать некоторые ошибки, такие как заявленнаяВот а такжеВот, Не стесняйтесь обновить версию AngularJS до 1.5.8 (последняя стабильная версия Angular 1), но примите во внимание комментарии кПост Космина Абабея также. Кроме того, проект использует npm для установки grunt (и других расширений для grunt), bower для angular и некоторых других базовых компонентов и grunt для построения минимизированной версии (на самом деле, пока это просто объединение ресурсов в одних и тех же файлах). Если вам нужно изменить зависимости, пожалуйста, не забудьте запуститьbower install, Если вы хотите восстановить папку dist, не забудьте запуститьnpm install а такжеgrunt build.

Ответы на вопрос(2)

Ваш ответ на вопрос