我在自托管的 Ubuntu 服务器上部署了一个使用 Laravel 9、Inertia、Vue3 和 Apache2 的 Web 应用程序。通过拨打
mydomain.de
我可以轻松访问起始页。但是当我导航到域的任何路径时,例如 mydomain.de/settings
,我收到以下错误:
Not Found - The requested URL was not found on this server
Apache/2.4.41 (Ubuntu) Server at mydomain.de Port 443
例如,我发现当我调用
mydomain.de/index.php/settings
时,路径可以工作,但 URL 如下所示
mydomain.de/index.php/index.php/settings
本地路由工作完美。
AllowOverride All 在我的 Apache 配置中设置。
rewrite.load mod已启用。
Apache 服务已重新启动多次。
我还尝试了根文件夹和公共文件夹中不同的 .htaccess 文件。
这是我的文件:
/etc/apache2/sites-available/mydomain.de.conf
Listen 8081
<VirtualHost *:80, *8081>
ServerAdmin [email protected]
ServerName mydomain.de
ServerAlias www.mydomain.de
DocumentRoot /var/www/mydomain/public
<Directory /var/www/mydomain/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Redirect "/" "https://mydomain.de"
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.mydomain.de [OR]
RewriteCond %{SERVER_NAME} =mydomain.de
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R]
</VirtualHost>
/var/www/mydomain/public/.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /mydomain/public/
# 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>
routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
Route::get('/', function () {
return Inertia::render('Start', [
'title' => 'Start'
]);
});
Route::get('/settings', function () {
return Inertia::render('Settings', [
'title' => 'Einstellungen'
]);
});
我做错了什么?如果我可以添加任何其他文件以使我的设置更清晰,请随时告诉我。
如有任何帮助,我们将不胜感激。
我今天遇到了这个麻烦,我意识到我没有跑
sudo a2enmod rewrite
。这对我有用