如何修正.htaccess规则实现带数字参数的跨域名重定向?
修正跨域重定向规则,仅传递纯数字参数
你的问题核心是当前规则捕获了包含/aaa/的整个路径段,导致参数带上了多余的前缀。我们只需要调整正则表达式的捕获逻辑,单独提取数字部分即可解决问题。
修正后的完整规则
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/aaa/([0-9]+)/?$ RewriteRule ^aaa/([0-9]+)/?$ http://domain2.com/aaa.php?aaa=$1 [R=301,L]
关键调整说明
- 精准捕获数字:在
RewriteRule的正则表达式中,把([0-9]+)单独作为捕获组,这样$1就仅指代纯数字字符串,而非包含/aaa/的完整路径片段。 - 精简匹配条件:去掉了
RewriteCond里多余的^.*前缀匹配,直接精准匹配/aaa/数字的请求格式,让规则更清晰高效。 - 明确参数名:显式指定
aaa=参数名,确保重定向后的URL参数格式完全符合预期。
测试验证:访问domain1.com/aaa/11111会正确跳转到domain2.com/aaa.php?aaa=11111,domain1.com/aaa/22336也会对应到domain2.com/aaa.php?aaa=22336,完全满足你的需求。
内容的提问来源于stack exchange,提问作者micjan
相关产品推荐
相关产品推荐

