У меня есть следующая структура моего проекта
root
ra-cms-admin
dist
ra-cms-admin
index.html
...
ra-cms-public-and-api
public
index.php
...
ra-cms-admin — это одностраничное приложение. Мне нужно, когда пользователь переходит на /, я хочу перенаправить на ra-cms-public-and-api-> public-> index.php, и когда пользователь переходит на /admin (или /admin/что-то...), я хочу перенаправить на один ra-cms-admin->dist->ra-cms-admin->index.html, иначе я хочу всегда перенаправлять на ra-cms-public-and-api-> public-> index.php ( /что-то...).
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^admin ra-cms-admin/dist/index.html [L]
RewriteRule ^ ra-cms-public-and-api/public/index.php [L]
</IfModule>
Этот проект приложения находится на моем сервере в тестовой папке. Поэтому, когда вы хотите получить доступ к этому приложению, вам нужно перейти на localhost/test , но у меня проблема с разделом администратора, когда я помещаю localhost/admin, я все еще перенаправляюсь в публичный раздел. .. Любая идея? Согласно https://htaccess.madewithlove.be/ мои решения должны работать, админ соответствует...






Ты можешь попробовать?
RewriteRule ^admin ra-cms-admin/dist/ra-cms-admin/index.html [R=301,L]
RewriteRule ^admin ra-cms-admin/dist/ra-cms-admin/index.html [R=301,L]
Двигайтесь ВВЕРХ или используйте RewriteCond.
RewriteEngine On
RewriteRule ^admin/(.+)$ /ra-cms-admin/dist/%1 [L]
У меня не работает после того, как я это добавил, теперь я вижу свои папки в браузере.
Правило перезаписи ^admin/(.+)$ /ra-cms-admin/dist/ra-cms-admin/%1 [L]
Это перенаправило меня на localhost/var/www/html/test/ra-cms-admin/dist/index.html