Я установил Laravel на свой сервер, работающий на Debian 9.6
с Apache.
Я запускаю команду composer create-project laravel/laravel api 5.5.*
в папке на одном из моих сайтов и т. д. name.com
. Я хочу получить к нему доступ через URL-адрес: https://name.com/api/public
, но я получаю сообщение об ошибке при новой новой установке:
Sorry, the page you are looking for could not be found.
Также я пытался запустить его с php artisan serve --host=0.0.0.0
, но он показывает ту же страницу.
В логах обнаружил:
[Tue Dec 18 16:15:30.818500 2018] [autoindex:error] [pid 2334] [client 81.2.249.13:36972] AH01276: Cannot serve directory /var/www/name/www/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive
Я много чего пробовал, что нашел здесь или в гугле, но мне ничего не помогло.
Просто чтобы уточнить: у меня есть домен - http://example.com и в каталоге этого домена / var / www / example / www / я создал каталог api /, где находится новая установка Laravel - и я получаю доступ к нему с www.example. com / api /
.htaacess файл:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews +Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Спасибо за любой совет.
Это доменное имя - только для примера, и да, я владелец домена, который я использую.
Вы уверены, что / api / public - действительный URI? При новой установке и если ваш веб-сервер настроен правильно, вам не следует пытаться получить определенный uri.
Я добавляю пояснение к своему вопросу - поэтому я обращаюсь к / api / public
вы поете nginx или apache на своем сервере?
проверьте, есть ли в вашем проекте файлы .htaccess и server.php?
@UdhavSarvaiya - Я только что разместил .htaccess в общей папке. И да, у меня в проекте есть server.php.
Это опасный способ настроить свой проект, поскольку вы открываете вещи, которые должны быть скрыты, например ваш .env
. У вас должна быть только общедоступная папка, доступная в Интернете. Это можно сделать с помощью символических ссылок.
Пожалуйста, введите команду ниже и попробуйте получить доступ.
setenforce 0
это работает для меня.
также вы можете идеально установить laravel из здесь
Вы владелец домена
name.com
? Вы создали соответствующие записи DNS с IP-адресом, который хотите использовать (возможно, 127.0.0.1)?