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

如何实现地址栏不变时将站点首页重定向到子目录指定页面

实现方案

你之前使用的Redirect指令属于服务器外部重定向指令,会返回301/302状态码通知浏览器主动跳转目标路径,所以地址栏会同步更新。要实现地址栏不变的访问效果,需要使用服务器重写模块做内部转发,整个转发过程在服务端完成,浏览器侧无感知。

Apache 服务器配置

  • 首先确认已开启mod_rewrite模块
  • 编辑站点根目录下的.htaccess文件,添加如下规则:
RewriteEngine On
# 匹配根路径访问请求
RewriteRule ^$ /subfolder/somepage.php [L]
# 同时匹配访问/index.php的请求
RewriteRule ^index\.php$ /subfolder/somepage.php [L]

如果规则写在虚拟主机配置文件中,调整为如下写法即可:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(index\.php)?$
RewriteRule ^ /subfolder/somepage.php [L]

Nginx 服务器配置

编辑对应站点的server配置块,添加如下规则:

# 匹配根路径访问
location = / {
    rewrite ^ /subfolder/somepage.php last;
}
# 匹配/index.php访问请求
location = /index.php {
    rewrite ^ /subfolder/somepage.php last;
}

注意事项

如果目标页面somepage.php内引用了相对路径的静态资源(CSS、JS、图片等),会因为浏览器当前地址为站点根路径,导致相对路径资源加载失败。可通过两种方案解决:

  • 将所有静态资源引用路径改为绝对路径,例如/subfolder/css/style.css
  • 额外添加静态资源的内部重写规则,将对应资源请求转发到子目录下

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:24:00