
Ich habe einen AWS-Server. Ich habe ein Laravel-Projekt eingerichtet und es funktioniert einwandfrei. Das Projekt befindet sich unter /var/www/MyProject und wenn ich zu myproject.com/public gehe, sehe ich die Anwendung (nachdem ich meinen Apache-Benutzernamen und mein Passwort eingegeben habe).
Wenn ich jedoch nur die Basis-URL myproject.com aufrufe, wird mir die Apache-Testseite angezeigt. Diese Seite möchte ich nicht sehen. Wenn ich die Basis-URL aufrufe, möchte ich direkt zur Anwendung weitergeleitet werden. Ich habe den gesamten Text in der Apache-Datei welcome.conf übergeben, wodurch die Splash-Seite entfernt wird, aber stattdessen erhalte ich die Meldung „Zugriff verboten“.
Hier ist mein virtueller Host:
# 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>
Antwort1
Ich habe es herausgefunden.
Öffnen Sie /etc/httpd/conf.d/welcome.conf und fügen Sie eine permanente Weiterleitung zur Website hinzu:
<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