You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache:当URL包含特定路径时禁用HTTPS重定向的配置问题

解决虚拟主机重定向排除子目录/文件的问题

你的问题出在第二个RewriteCond的匹配规则上——当前规则只精确匹配了/downloads/software/installer/这个目录本身,没有覆盖该路径下的所有子文件和子文件夹。我们只需要调整匹配模式,让它匹配所有以这个路径开头的请求即可。

修改后的完整配置

RewriteEngine On
# 排除ACME挑战路径
RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
# 排除/downloads/software/installer/及其下所有子资源
RewriteCond %{REQUEST_URI} !^/downloads/software/installer/
# 以下是原有的重定向条件
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]

关键修改说明

把原来的RewriteCond %{REQUEST_URI} !/downloads/software/installer/改成了RewriteCond %{REQUEST_URI} !^/downloads/software/installer/:

  • ^符号表示“以指定字符串开头”,这样所有以/downloads/software/installer/开头的请求(包括/downloads/software/installer/file.exe、/downloads/software/installer/subdir/这类子资源)都会被排除在重定向规则之外。
  • 保留!符号表示“否定匹配”,也就是满足这个条件的请求不会触发后续的重定向。

验证效果

修改配置后重启Apache(或对应的Web服务),测试以下场景:

  • http://example.de/downloads/software/installer/ → 保持HTTP访问,不重定向
  • http://example.de/downloads/software/installer/test.txt → 保持HTTP访问,不重定向
  • http://example.de/downloads/software/installer/subdir/ → 保持HTTP访问,不重定向
  • 其他路径(比如http://example.de/about)→ 正常重定向到https://www.example.de/about

内容的提问来源于stack exchange,提问作者user15282016

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 06:52:40