ssl - 制作 CMS SSL 问题
问题描述
我在我的网站上强制使用 SSL 时遇到问题。我认为问题可能是我的根文件夹是我的“网络”文件夹。
我在网上搜索并尝试了一些 htaccess 变体,但它们似乎都不起作用。
这是我尝试过的最新版本:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Send would-be 404 requests to Craft
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC]
RewriteRule (.+) index.php?p=$1 [QSA,L]
</IfModule>
我的域指向我的 web 文件夹,而我的 htaccess 属于 web 文件夹。
谢谢,
乔
解决方案
当您接受端口 80 和端口 443 上的流量并使用 Apache 时,您通常有 2 个虚拟主机配置:每个端口一个。因此,一种简单的方法是简单地将任何传入的端口 80 请求重定向到启用 SSL/TLS 的 URL:
<VirtualHost *:80>
ServerName example.com
RedirectMatch permanent (.*) https://example.com$1
</VirtualHost>
如果您想处理多个主机名,mod_rewrite
可能会派上用场(据我所知,RedirectMatch
不支持诸如 之类的变量%{HTTP_HOST}
),但如果不支持,仅此而已。
推荐阅读
- html - 如何使 HTML (CSS) 中的 GIF 可重复并位于除背景图片之外的所有其他元素之后
- java - 将 YAML 文件解析为 Java 类
- java - 过滤器列表包含多个对象java
- c# - Type name "OleDbDataAdapter" could not be found in the namespace "System.Data.OleDb"
- ios - 与 UIKit PKCanvasView 下方的 SwiftUI 视图交互
- c - 你能帮我吗,在第 6 和第 7 个打印语句中递增是如何工作的
- discord.js - 设置后如何清除我的 Discord 机器人的状态?
- java - 如何在对 Spring Boot 的 GET 请求中格式化对象
- pine-script - Pine Editor 使用 plot() 为最后的 X 条创建一条恒定线
- consul - 使用 Ocelot 的 Consul 集群未使用所有服务