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

httpd.conf中新增Rewrite Rule适配无/online前缀URL需求

Apache Rewrite规则配置方案

现有规则回顾

你当前httpd.conf中已有的规则大致如下,作用是匹配所有(.*).example.com子域名的根路径请求,内部重写到指定地址且不暴露真实URL:

RewriteCond %{HTTP_HOST} ^(.*)\.example\.com$ [NC]
RewriteRule ^/$ /anotherURL?storeId=xxxxx [L,NC]

新增规则实现无/online前缀URL兼容

在现有规则之前添加以下规则,即可让https://local.example.com/shop/、https://local.example.com/sale/这类无/online前缀的URL内部重写为带前缀的格式,实现正常访问:

# 重写无/online前缀的非根路径请求
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{REQUEST_URI} !^/online/
RewriteRule ^/(.*)$ /online/$1 [L,NC]

规则说明

  • 前两个RewriteCond:限定只处理example.com子域名的请求,同时排除根路径/,避免和现有规则冲突
  • 第三个RewriteCond:排除已带有/online前缀的请求,防止出现循环重写的问题
  • RewriteRule:将所有符合条件的请求URI(如/shop/)内部重写为/online/shop/,[L]表示执行完这条规则后停止后续规则解析,[NC]保证不区分大小写匹配

注意事项

  • 规则顺序:新增规则必须放在现有根路径重写规则的前面,否则根路径规则会优先匹配,导致新增规则不生效
  • 内部重写特性:该规则属于服务器内部重写,浏览器地址栏不会显示/online前缀,完全符合需求
  • 测试验证:可以用命令行工具测试,比如curl -I https://local.example.com/shop/,查看返回内容是否与https://local.example.com/online/shop/一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 17:57:09