Я использую Laravel 5.6, и я могу загружать / редактировать файлы только в / в корень сайта (/public_html
). Я не могу изменить корень сайта на /public_html/public
. Можно ли переписать все запросы (например, /
, /login
, /css/styles.css
и т. д.) внутри /public_html/public/
?
Я не умею писать файлы .htaccess. Я пробовал много разных вещей, которые нашел в Интернете. Последнее, что я пробовал, это в /public_html/.htaccess
:
RewriteEngine On
RewriteRule ^(.*)$ /public/$1 [L]
RewriteRule ^(.*)$ /public/$1 [L]
Вам просто нужен дополнительный состояние чтобы предотвратить цикл перезаписи. Например:
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule (.*) /public/$1 [L]
В REDIRECT_STATUS
переменная среды пуста при первоначальном запросе и установлена в 200 (ОК) после первой успешной перезаписи.
Якоря начала / конца (^
и $
) не требуются, поскольку регулярное выражение по умолчанию является жадным.