
私は WSL2/Ubuntu で Apache 2.4.41 を使用しています。
そこには、Voyager がインストールされた laravel プロジェクトがあります。
また、仮想ホスト (vh) も使用しています。
アプリの URL へのアクセスはhttp://myapp
機能します。ただし、Voyager アプリはhttp://myapp/admin
404 エラーで失敗します。
私のVirtualHost
ファイルは次のとおりです:
<VirtualHost *:80>
ServerName myapp
DocumentRoot /var/www/myapp/public
<Directory "/var/www/myapp/public">
Options Indexes MultiViews
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
私の.htaccess
ファイルは次のとおりです:
<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]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
答え1
DocumentRoot は /var/www/myapp/public です。
管理者はそのパスの下にいますか? そうでない場合は、Apache 構成でそのエイリアスを定義する必要があります。
Alias /path/to/admin "/var/www/myapp/public/admin"
すでにパブリック パスの下にある場合は、Apache ログと管理ページに割り当てられた Linux 権限を再確認します。