【发布时间】:2019-07-08 03:48:24
【问题描述】:
我有项目并在 ubuntu 服务器上安装了 SSL 证书。我已经完成了我找到的所有解决方案,但每次打开页面时仍然收到此消息。
The requested URL /about was not found on this server.
这是我为强制 Laravel 使用 https 所做的更改:
1- 我更改了公用文件夹中的 .htaccess 并添加了这些行
# Added to Force HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
2- 在 app->Providers->AppServiceProvider 我已将此添加到 boot() 函数
if (App::environment() === 'production' || App::environment() === 'dev') {
URL::forceScheme('https');
}
3- 我创建了 php artisan make:middleware ForceSSL 并将以下代码添加到句柄函数中
if (!$request->secure() && in_array(env('APP_ENV'), ['stage', 'production'])) {
return redirect()->secure($request->getRequestUri());
}
return $next($request);
在 Kernal.php 中
\MyApp\Http\Middleware\ForceSSL::class
在 .env 文件中,我已将 APP_URL 更改为 https:// 我还更改了 config 文件夹中 app.php 中的 APP_URL。
我在这里错过了什么?这两天我不明白为什么:(
【问题讨论】:
-
而this 没有帮助?
-
您的路线中是否设置了路线/url
/about?也许重做配置?php artisan config:clear -
使用 php artisan route:list 检查路线
-
这可能是一个愚蠢的问题,但您是否将您的虚拟主机设置为除了 http 之外还提供 https 服务?默认情况下,您有
<VirtualHost *:80>,它仅用于 http,您还需要有一个带有证书配置的<VirtualHost *:443> -
你使用的是 nginx 还是 apache? (或其他)
标签: php laravel .htaccess laravel-5 laravel-routing