Как настроить маршруты для Laravel 5, чтобы я мог получить доступ из общей папки

Когда я пытаюсь запустить другой маршрут через localhost/project/public/acp или localhost/acp, он говорит, что папка не найдена, но при использовании localhost: 8000/acp все работает нормально, вот мои маршруты:

Route::get('acp', 'CommentController@admin');

Я использую сервер Linux... И как правильно запустить приложение Laravel в производство?

Также это отлично работает: localhost/project/public/ но других маршрутов нет....


person Vladimir    schedule 11.02.2015    source источник
comment
Похоже, у вас более одного веб-сервера (один для разработки Laravel на 8000 и что-то еще, например, Apache/nginx на 80 по умолчанию), и вы неправильно настроили свой основной.   -  person ceejayoz    schedule 11.02.2015


Ответы (1)


Если вы используете php artisan serve, ваш сайт работает на localhost:8000, и ничто за пределами каталога public недоступно напрямую. php artisan serve никогда не следует использовать для обслуживания рабочего сайта, это только для использования в разработке.

Если вы хотите, чтобы он работал на localhost/project/public/acp, вам нужно указать корень документа вашего веб-сервера на родительскую папку project. Это зависит от того, какой сервер вы используете, и не рекомендуется из-за того, что следует.

Если вы увидите папку public в URL-адресе развернутого сайта Laravel, это будет свидетельствовать о серьезной проблеме с безопасностью, поскольку это сделает доступными личные файлы (например, .env), и если вы когда-либо допустили ошибку в конфигурации вашего сервера/PHP, может позволить вашим файлам PHP читаться как обычный текст.

person ceejayoz    schedule 11.02.2015
comment
Но как я могу получить доступ к приложению Laravel без подачи php artisan? - person Vladimir; 11.02.2015
comment
@Vladimir С настоящим веб-сервером, таким как Apache или nginx. laravel.com/docs/5.0/installation - person ceejayoz; 11.02.2015