Я загрузил свое приложение Laravel на сервер (я использую виртуальный хостинг).
Структура каталогов выглядит следующим образом:
--public_html
--laravelApp
-- app
-- bootstrap
-- public
-- vendor
-- other Laravel files
Мой корень документа указывает на laravelApp / public.
Когда я пытаюсь получить доступ к своему веб-сайту через laravelapp.com, я получаю 500
, Я получаю ту же ошибку, если пытаюсь получить доступ к laravelapp.com/public или laravelapp.com/public/index.php. У меня нет .htacess в корне laravelApp, просто в public
папка.
Я думаю, что-то с .htaccess, но я не уверен, где искать. Вот как это выглядит:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Я вижу некоторые ответы, что я должен поставить все (кроме public
на том же уровне, что и public_html), но я не понимаю, почему это требуется.
Может ли кто-то осветить это, почему и как это должно быть сделано правильно? Есть ли проблемы с безопасностью и т. Д.?
Хорошо, решение было установить Directory в мою общую папку и добавить правило RewriteBase в .htaccess. Также проверьте, где ваша версия php> = 5.4.
Других решений пока нет …