laravel - 设置 SSL (https) 后站点内部链接不起作用
问题描述
我有一个使用 Laravel 开发的生产站点。配置 SSL 后,只有主域使用 https。没有其他路线工作。它说“404”未找到。但同样的链接也适用于 Http。
服务器详细信息:PHP 7.1.29 Apache 2.4.6 操作系统:Centos 7 Laravel 5.4.*
.htacess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{HTTPS} !on
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php70” package as the default “PHP” programming language.
<IfModule mime_module>
AddType application/x-httpd-ea-php70___lsphp .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
vhost.conf(站点名称替换为示例)
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
DocumentRoot /var/www/html/example.com/public
ErrorLog /var/log/httpd/example.com/error.log
CustomLog /var/log/httpd/example.com/access.log combined
<Directory "/var/www/html/example.com/public">
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
#ssl configure
<VirtualHost *:443>
SSLEngine on
DocumentRoot /var/www/html/example.com/public
ServerName example.com
ServerAlias www.example.com
#SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
SSLCertificateFile "/etc/pki/tls/certs/example/example.crt"
SSLCertificateKeyFile "/etc/pki/tls/certs/example/example.key"
SSLCACertificateFile "/etc/pki/tls/certs/example/example.ca-bundle"
</VirtualHost>
解决方案
推荐阅读
- python - json.dump(): TypeError: 'time' 类型的对象不是 JSON 可序列化的
- azure-service-fabric - Service Fabric EntryPointType="Setup" 不同的 SystemGroup 本地化
- javascript - HTML 画布在全屏尺寸上变得模糊
- c# - c# XML序列化-动态元素名称
- firebase - 在 Flutter 中访问 Firebase 存储
- python - 如何在 qt 小部件中显示 matplotlib.pyplot?
- c++ - 将 Arduino 草图重构为 C++ 类
- python - 在 Windows 中导入 Linux 中生成的 .so 文件
- graphql - 错误:预期 [object Object] 是 GraphQL 类型
- angular - 获取 HTTP 请求的结果时如何强制转换对象