.htaccess - 强制站点范围的 HTTPS,但在特定目录中强制 HTTP
问题描述
我已经看过但找不到我需要的答案 - 或者对我有用。我有一个网站,我通过 htaccess 强制使用 https。有 1 个特定目录必须是 http(不能是 https)。
我的 htaccess 中有这个:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !^/excluded_directory/.*$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
这不会强制“excluded_directory”中的非 https。我还尝试在“excluded_directory”中添加第二个 htaccess,但无济于事。有人可以帮我解决这个问题吗?
解决方案
您也可以尝试条件语句以获得更多选项。你会用这个替换你当前的规则。
<If "%{REQUEST_URI} =~ m#^/exclude_directory# && %{HTTPS} == 'on'">
RewriteEngine On
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</If>
<ElseIf "%{REQUEST_URI} !~ m#^/exclude_directory# && %{HTTPS} == 'off'">
RewriteEngine On
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</Else>
推荐阅读
- lisp - 使用 do、if 和 funcall 来定义 (satisfy fun lst),它返回列表中满足函数的项目的列表
- node.js - MERN部署问题heroku
- sql - 获取错误列在 PostgreSQL 中不存在
- python - `eb deploy` 错误“您的 requirements.txt 无效”(Python 应用程序)
- java - 使用自定义 jackson ObjectMapper 自定义 Spring Boot 序列化过程
- c# - FluentValidation 使用自定义 IActionFilter
- python - Django 3 TypeError:上下文必须是字典而不是集合
- amazon-web-services - AWS ALB OIDC 身份验证 cookie 域问题
- python - pandas:如何对堆积条形图进行分组?
- php - 根据用户名动态使用 htaccess 创建子域