Я знаю, что есть много подобных сообщений, но после 3 часов исследований я все еще не могу найти решение. Надеюсь, кто-то может помочь.
Используемые технологии:
- Апач/2.4.7 (Убунту)
- Ларавель 5.4
- PHP 7.0
/etc/apache2/site-enabled/000-default.conf
<VirtualHost *:80>
ServerAdmin [email protected]
Servername example.com
DocumentRoot /var/www/html/example.com
<Directory />
Options +FollowSymLinks
#AllowOverride None
Require all granted
</Directory>
<Directory /var/www/html/example.com/>
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
<Directory "/var/www/html/example.com/parcgilley/public">
Options Includes Indexes FollowSymLinks
DirectoryIndex index.php
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI +MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
.......
Таким образом, корень документа находится в /var/www/html/example.com, а мой сайт laravel находится в /var/www/html/example.com/parcgilley. Я попытался настроить 000-default.conf так, чтобы мой сайт указывал на /var/www/html/example.com/parcgilley/public, но когда я перехожу на example.com/parcgilley, он показывает «Индекс /parcgilley». И когда я перехожу к http://www.example.com/parcgilley/public/ , Chrome показывает "Эта страница не работает".
Это мой файл public/.htaccess:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Это не оригинальный контент. Я следовал инструкциям Laravel, поэтому заменил источник кодом выше. .
Кроме того, я установил разрешения для корневой папки проекта /parcgilley и папки хранилища, но безрезультатно.
Я не знаю, нужно ли мне создавать файл .htaccess, чтобы указать на папку /public. Но я мало знаю о конфигурации apache.
Любое понимание будет оценено.
Отредактировано:
Также я использовал SSH и Git, чтобы отправить веб-сайт с моей локальной машины на сервер, с голым репозиторием, расположенным в /var/repo/site.git. Не знаю, относится ли это к делу.