.htaccess несколько папок и root

Может кто-нибудь помочь мне с правилами htaccess для этого формата приложения.

вот моя файловая структура:

/api
- /1.0 (this is a php project, a backend rest api of sorts to the frontend)
- /other-php-folders
- /...(lots of stuff)
- /public
- /...(lots of assets etc)
- /index.php
- /.htaccess (ignore for now)
/src (this contains an angularjs compiled website)
- /assets
- /cool-asset.js
- /cool-asset2.css
- /cool-asset3.png
- /index.html
- /.htaccess
/.htaccess

Итак, что я в основном хочу от корневого файла .htaccess:

  • перенаправить ВСЕ трафик, начинающийся с «/ api /», на «/ api / *». Это включает в себя все активы.
  • ВСЕ ДРУГОЙ трафик для перехода на «/ src / *».
    • в /src/.htaccess: мне нужно, чтобы все запросы к файлам выглядели в / src как обычно, но все URL-запросы просто переходили на index.html (RewriteRule ^ index.html [L]).

Также еще одна приятная особенность, которую я хотел бы:

  • url: mydomain.com/api/latest для ссылки на предопределенную папку (например, /api/1.0), или если есть способ найти номер последней версии по именам папок (но при его вычислении это может быть слишком большой обработкой мощность может быть легко закодирована и будет много запросов).

Любая помощь приветствуется.
Заранее спасибо.

0

Решение

Я вроде сделал свое собственное решение, но может кто-нибудь прокомментировать и сообщить мне, если это хорошо (это работает), или если есть лучшее решение.

Приветствия.

/.htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/api
RewriteRule ^(.*)$ /src/$1 [L]

/src/.htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^ index.html [L]
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector