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

URL重定向配置求助:特定路径与指定参数保留规则设置

Apache URL重定向规则配置方案

前提条件

确保Apache已启用mod_rewrite模块,Debian/Ubuntu系可通过以下命令启用:

a2enmod rewrite
systemctl restart apache2

将规则放置在网站根目录的.htaccess文件中,或对应虚拟主机的<Directory>配置区块内。


规则实现

1. 基础路径重定向

匹配https://example.com/01/123456这类格式,直接重定向到目标路径:

RewriteEngine On

# 规则1:匹配/01/后跟纯数字的路径
RewriteRule ^01/(\d+)$ /cgi-bin/b2c/$1 [R=301,L]
  • ^01/(\d+)$:精准匹配以01/开头、后跟一串数字的路径,(\d+)捕获这串数字作为分组1
  • /cgi-bin/b2c/$1:将捕获的数字代入目标路径
  • R=301:永久重定向(需临时重定向可改为R=302)
  • L:执行完此规则后停止后续规则匹配

2. 多级路径+参数过滤重定向

处理带多级子路径和多参数的URL,仅保留第一个子路径的数字与x参数:

# 规则2:匹配多级子路径,仅保留第一个数字路径与x参数
RewriteCond %{QUERY_STRING} (^|&)x=([^&]+)(&|$)
RewriteRule ^01/(\d+)/.*$ /cgi-bin/b2c/$1?x=%2 [R=301,L]
  • RewriteCond %{QUERY_STRING} (^|&)x=([^&]+)(&|$):匹配查询字符串中存在x参数的情况,([^&]+)捕获x的参数值作为分组2
  • ^01/(\d+)/.*$:匹配以01/开头、后跟一个数字路径、再跟任意多级子路径的格式,(\d+)捕获第一个数字路径作为分组1
  • /cgi-bin/b2c/$1?x=%2:将捕获的第一个数字路径与x参数值拼接成目标URL
  • R=301,L:同规则1的作用

补充说明

  • 若需兼容无x参数的多级路径(重定向时不带任何参数),可添加额外规则:
# 补充:无x参数的多级路径重定向
RewriteCond %{QUERY_STRING} !(^|&)x=
RewriteRule ^01/(\d+)/.*$ /cgi-bin/b2c/$1? [R=301,L]
  • 测试阶段建议用R=302临时重定向,确认规则无误后再改为R=301,避免浏览器缓存旧规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 14:52:38