Я работаю над архитектурой на основе микросервиса с Lumen. Локальная среда работает нормально, но рабочий сервер нуждается в настройках, потому что он не может иметь одинаковую структуру ссылок, и я хочу, чтобы код был одинаковым в каждой среде.
В локальной среде, которую я создал виртуальные хосты для каждого микросервиса, такие как, например, books.xyz иhors.xyz, которые указывают на папку / publi c, поэтому структура ссылок DOESN'T содержит publi c. В прямом эфире он размещается на сервере .servername.com / books и beta.servername.com/authors. Я начал разработку админ-панели с lumen (/ admin), но проблема в том, что структура ссылок слишком различна и не работает в рабочей среде. (css / js активы получают 404'd и c.)
Как удалить / publi c в рабочем URL-адресе?
Я не знаю Я не хочу перемещать все из папки publi c в root из соображений безопасности!
Я попытался создать файл .htaccess на root, и следующее, но ни один из них работали:
# <IfModule mod_rewrite.c>
# RewriteEngine On
# RewriteCond %{REQUEST_URI} !^/books/public/
# RewriteRule ^(.*)$ /public/$1 [L,QSA]
# RewriteRule ^game/(.*)$ /books/public/$1 [L,QSA]
# </IfModule>
или
# <IfModule mod_rewrite.c>
# RewriteEngine On
# RewriteRule ^(.*)$ books/public/$1 [L]
# </IfModule>
или
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ books/public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php