域名更换后商品URL的正则重定向方案咨询
方案可行性分析及优化建议
核心结论
你拟用的重定向规则完全可行,而且不需要逐个设置单条重定向,不过可以做个小优化来确保原URL的查询参数不丢失。
规则原理解释
- 你写的规则
RewriteRule ^collections/(.*) http://www.shop.mysite.com/collections/$1 [R=301,L]作用如下:^collections/(.*):匹配所有以collections/开头的URL路径,括号里的.*会捕获collections/之后的所有内容(包括分类名、商品名这类路径部分)http://www.shop.mysite.com/collections/$1:把匹配到的URL重定向到子域的对应路径,$1会替换成之前捕获的路径内容[R=301,L]:R=301表示永久重定向(对SEO友好),L表示这是最后一条匹配规则,避免后续规则干扰当前重定向
优化补充
原规则默认不会保留原URL里的查询参数(比如?variant=123这类参数),如果需要完整保留这些参数,建议添加QSA(Query String Append)标记,优化后的规则为:
RewriteRule ^collections/(.*) http://www.shop.mysite.com/collections/$1 [R=301,L,QSA]
额外注意事项
- 确保你的服务器(比如Apache)已经启用了
mod_rewrite模块 - 这条规则要放在主域mysite.com的
.htaccess文件中,如果是Nginx环境,需要把规则调整为Nginx的rewrite语法 - 测试阶段可以先用
R=302临时重定向验证效果,确认没问题后再改为R=301永久重定向
内容的提问来源于stack exchange,提问作者tonystar83
相关产品推荐
相关产品推荐

