
У меня есть сервер AWS. Я настроил проект Laravel, и он работает нормально. Проект находится в /var/www/MyProject, и когда я захожу на myproject.com/public, я вижу приложение (после ввода имени пользователя и пароля Apache).
Однако, когда я перехожу только на базовый URL, myproject.com, я вижу тестовую страницу Apache. Я не хочу видеть эту страницу. Когда я перехожу на базовый URL, я просто хочу перенаправить напрямую в приложение. Я закоммитил весь текст в файле Apache welcome.conf, который удаляет страницу-заставку, но вместо этого я получаю сообщение о запрете доступа.
Вот мой vhost:
# Laravel 8 base install test
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/myproject"
ServerName myproject.com
<Directory "/var/www/myproject/public">
Options Indexes FollowSymLinks
#DirectoryIndex index.php
AllowOverride All
AuthBasicProvider file
AuthUserFile /etc/httpd/conf.d/.htpasswd
AuthType Basic
AuthName "Auth"
Require valid-user
</Directory>
# Protect development directories from prying eyes.
RewriteEngine On
RewriteRule (^|/)docs(/|$) - [F]
RewriteRule (^|/)node_modules(/|$) - [F]
#RewriteRule (^|/)vendor(/|$) - [F]
</VirtualHost>
решение1
Я понял.
Откройте /etc/httpd/conf.d/welcome.conf и добавьте постоянное перенаправление на веб-сайт:
<LocationMatch "^/+$">
Redirect permanent / https://myproject.com #Added this line
Options -Indexes
ErrorDocument 403 /.noindex.html
</LocationMatch>
<Directory /usr/share/httpd/noindex>
AllowOverride None
Require all granted
</Directory>
Alias /.noindex.html /usr/share/httpd/noindex/index.html