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

.htaccess配置求助:实现域名访问隐藏目录并强制HTTPS跳转

解决.htaccess多场景重定向问题

我来帮你搞定这个配置,你需要把协议跳转(HTTP→HTTPS)、域名统一(www→非www)和内部目录重定向这三个需求组合起来,按顺序配置才能生效。之前的规则只处理了内部重定向,缺少了前面的域名和协议统一步骤。

以下是完整的.htaccess配置(放在public_html目录下):

# 开启URL重写引擎
RewriteEngine On

# 规则1:处理HTTP或www开头的请求,外部跳转到https://rhf.in(地址栏会更新)
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.rhf\.in$ [NC]
RewriteRule ^(.*)$ https://rhf.in/$1 [R=301,L]

# 规则2:内部重定向到/rhf目录,地址栏保持不变
RewriteRule !^rhf/ /rhf%{REQUEST_URI} [L]

各规则解释:

  • RewriteEngine On:必须开启,否则所有重写规则都不生效。
  • 规则1:
    • 第一个RewriteCond判断当前请求是否是HTTP(非HTTPS);
    • 第二个RewriteCond用OR连接,判断域名是否是www.rhf.in([NC]表示忽略大小写);
    • 只要满足其中一个条件,就会把请求外部重定向到https://rhf.in/$1($1保留原请求的路径部分),[R=301]是永久重定向(利于SEO),[L]表示执行完这条规则就停止后续规则。
  • 规则2:就是你之前的规则,当请求路径不是以rhf/开头时,内部重写到/rhf%{REQUEST_URI},[L]停止后续规则,这一步是后台跳转,地址栏不会显示/rhf。

验证场景:

  1. 访问http://rhf.in或http://www.rhf.in:地址栏会先变成https://rhf.in,后台实际加载/rhf目录的内容;
  2. 访问https://rhf.in:后台直接加载/rhf目录内容,地址栏保持https://rhf.in;
  3. 访问https://rhf.in/about:后台加载/rhf/about,地址栏还是https://rhf.in/about。

注意:如果你的服务器是Nginx,配置逻辑类似但语法不同,不过从你提到.htaccess来看应该是Apache环境,这个配置完全适用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 21:12:28