.htaccess如果页面位于/ shop / subcategory中,则重定向所有子类别

时间:2015-06-26 11:49:28

标签: .htaccess mod-rewrite redirect directory

问题:

如何使用.htaccess 301将子目录/ shop /中的所有子目录(和子目录的子目录)重定向到根保留所有参数?

情况:

我有一个具有以下结构的网上商店:

    http://www.domain.com/shop/category1/category2/category3/product1.html?utm=code&source=web
    http://www.domain.com/shop/category1/product2
    http://www.domain.com/shop/category1/category6/product3

我们正在开发一家结构不同的新店。我想要的是301重定向到域的根目录,所以旧的URL如下:

    http://www.domain.com/shop/category1/category2/category3/product1.html?utm=code&source=web

此网址将重定向到:

    http://www.domain.com/product1?utm=code&source=web

我需要删除/ shop /,其他子类别但保留参数。

1 个答案:

答案 0 :(得分:1)

试试这个:

RewriteEngine On
RewriteCond %{THE_REQUEST} /shop/cat1/cat2/cat3/product\.html\?utm=([^\&]+)&source=([^&\s]+) [NC] 
RewriteRule ^ /product?utm=%1&source=%1 [NC,R,L]