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

如何通过.htaccess实现站点部分页面强制跳转HTTPS且排除admin目录?

配置方法
  • 确认Apache已启用mod_rewrite模块
  • 确认站点配置中对应目录的AllowOverride参数设置为All,保证.htaccess文件可生效
完整.htaccess规则
RewriteEngine On

# 全局HTTP转HTTPS,排除admin目录
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/admin(/.*)?$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
规则解释
  • RewriteEngine On:开启重写引擎,是所有重定向规则生效的前提
  • RewriteCond %{HTTPS} off:匹配所有非HTTPS的访问请求
  • RewriteCond %{REQUEST_URI} !^/admin(/.*)?$ [NC]:排除所有路径以/admin开头的请求,[NC]标识匹配时不区分大小写,(/.*)?同时兼容/admin、/admin/、/admin/xxx.php等所有admin目录下的路径
  • RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]:符合上述两个条件的请求,301永久重定向到对应HTTPS地址,[L]标识当前规则是匹配到的最后一条,不再执行后续同层级规则
额外注意事项

如果/admin目录下存在独立的.htaccess文件,可在该文件中添加以下规则,避免用户手动输入HTTPS地址访问admin目录时触发异常:

RewriteEngine On
# admin目录强制走HTTP
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} ^/admin(/.*)?$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

配置完成后建议清空浏览器缓存再测试,避免301永久重定向的本地缓存影响验证结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:57:08