У меня есть проект, и я установил SSL-сертификат на сервер Ubuntu. Я сделал все решения, которые нашел, но все равно получаю это сообщение каждый раз, когда открываю страницу.
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:// и я также изменил APP_URL в app.php внутри папки конфигурации.
Что мне здесь не хватает? Два дня не мог понять почему :(
У вас есть маршрут / URL-адрес /about, настроенный в ваших маршрутах? Может переделать конфиг? php artisan config:clear
проверить маршрут с помощью php artisan route:list
Это может быть глупый вопрос, но вы настроили свой виртуальный хост для обслуживания https в дополнение к http? По умолчанию у вас есть <VirtualHost *:80>, который предназначен только для http, и вам также нужно иметь <VirtualHost *:443> с конфигурацией сертификата.
Вы используете nginx или apache? (или что-то другое)
Я исправляю это с помощью этого решения и перезапускаю apache stackoverflow.com/a/48198007/1789976






Есть несколько вещей, которые вам нужно убедиться, что они работают:
index.php в URL. Например, иногда laravel.com/aboutus не работает, но laravel.com/index.php/aboutus работает. Если это так, вам нужно включить mod_rewrites в php, а затем добавить AllowOverride All в конфигурации вашего виртуального хоста и перезапустить apache.443, который является портом SSL. Кроме того, если у вас есть SSL-сертификаты, их также необходимо настроить..htaccess условия перезаписи.php artisan config:clear и php artisan route:cacheНадеюсь, это поможет отладить это
я использую апач2
Открывается главная страница, все остальные страницы не работают.
Если вы говорите, что ваша домашняя страница работает с HTTPS, но не работает с внутренними страницами, проверьте файл .htaccess и
АМС | Сентос | ЭК2 | Сертификат АВС
Немного поздно, но мне пришлось изменить это только в моей среде. файл :
APP_URL=http://localhost
to
APP_URL=https://localhost
Все работает гладко.
А это не помог?