Удалить publi c из просвета URL - PullRequest
1 голос
/ 19 марта 2020

Я работаю над архитектурой на основе микросервиса с 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

1 Ответ

0 голосов
/ 19 марта 2020

переместите .htaccess и index. php в папке publi c в root папку вашего открытого индекса проекта. php и затем переименуйте

$ app = require DIR. '/ .. / bootstrap / app. php'; в $ app = требуется DIR. '/ bootstrap / app. php';

...