You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将网站根目录“/”重定向至指定首页并显示真实路径

根路径重定向至/home.html并显示完整路径的解决方案

直接在你的Apache配置文件或.htaccess中添加以下基于mod_rewrite的规则即可解决问题:

RewriteEngine On

# 精确匹配根路径,301重定向到/home.html
RewriteRule ^$ /home.html [R=301,L]

# 可选:确保直接访问目录时默认返回home.html
DirectoryIndex home.html

为什么之前的配置失效?

  • Redirect 301 / /home引发循环:Apache的Redirect指令是前缀匹配,/会匹配所有路径(包括/home开头的请求),导致重定向后再次被匹配,陷入无限循环。
  • Redirect 301 /$ /home无效果:普通Redirect不支持正则表达式锚定符$,要使用正则匹配得用RedirectMatch,但mod_rewrite的方式更灵活可控。
  • 搭配DirectoryIndex和Redirect无效DirectoryIndex只是让服务器在访问根路径时返回home.html的内容,但不会修改地址栏;而Redirect 301 /的循环问题依旧存在,所以两者组合无法实现地址栏跳转的需求。

规则说明

  • ^$:精确匹配空路径(也就是用户访问www.website.com/的场景),避免匹配其他子路径。
  • [R=301]:发起301永久重定向,告诉浏览器和搜索引擎更新地址缓存。
  • [L]:标记为最后一条规则,处理完这个请求后不再执行后续Rewrite规则,避免不必要的处理。

内容的提问来源于stack exchange,提问作者Mm-Art-In

火山引擎 最新活动