我要重新导向
https://example.com/product-info/A100001
至
https://example.com/product-info/index/index/id/A100001
使用htaccess重定向规则
A100001将动态像
A100001
A100002
A100003
A100004
....
我正在尝试这个
RewriteEngine on
RewriteCond %{QUERY_STRING} product-info/A100001
RewriteRule ^$ /routing/index/index/id/? [L,R=301]
Source
还尝试了其他示例,但在我的场景中不起作用
任何人谁在htacees规则Maven可以帮助我在这方面。
1条答案
按热度按时间tct7dpnv1#
您的示例URL只包含URL路径,不包含 * 查询字符串 *。您发布的规则会将
/?product-info/A100001
重定向到/routing/index/index/id/
。请尝试以下操作:
上面的代码会将
/product-info/A123456
的请求重定向到/product-info/index/index/id/A123456
。$1
反向引用只包含从RewriteRule
* 模式 * 捕获的product-info
(保存复制),$2
包含动态部分(A
后跟6位数字)。这是一个302(临时)重定向。请始终首先使用302进行测试,以避免潜在的缓存问题。
指令在
.htaccess
文件中的顺序很重要。在任何现有的重写之前,这个规则可能需要接近文件的顶部。更新日期:
重定向是工作与您的代码,你能请让我知道参数模式,我需要的号码从A452218到A572217
Regex不处理数字范围,只处理字符范围。如果你只想匹配指定范围内的数字,那么你需要做一些事情(更复杂),像这样:
注意:
$2
反向引用现在只包含动态数字,减去A
前缀,该前缀现在显式包含在 substitution 字符串中。