我需要您的帮助才能建立301重定向电子商务网站。 产品必须重定向到另一个文件夹,但格式相同,没有任何困难,但类别必须更改为以“html”结尾为“/”。
产品:
来自www.domain.com/folder_A/product_name.html
到www.domain.com/product_name.html
分类:
来自www.domain.com/folder_A/category_1/subcategory_1-1/subcategory_1-1-1.html
到www.domain.com/category_1/subcategory_1-1/subcategory_1-1-1 /
你能帮我在htaccess中进行这种重定向吗? 我有超过1500个类别和子类别,如果我不必逐个重新定向类别,那就更好了。
答案 0 :(得分:0)
RedirectMatch 301 ^/folder_A/((.*)[0-9]).html$ http://www.domain.com/$1/
RedirectMatch 301 ^/folder_A/((.*)[^0-9]).html$ http://www.domain.com/$1.html
答案 1 :(得分:0)
基于评论部分的讨论,您可以尝试以下规则:
RewriteEngine On
# specific category pages
RewriteRule ^folder_A/(category_1|category_2|category_3)\.html$ /$1 [L,NC,R=301]
# rest of the categories
RewriteRule ^folder_A/([^/]+/.+?)\.html$ /$1 [L,NC,R=301]
# all products
RewriteRule ^folder_A/([^/.]+\.html)$ /$1 [L,NC,R=301]
答案 2 :(得分:0)
最后,Kums和Anubhava提供的两种解决方案的混合物对我有用。
RedirectMatch 301 ^/folder_A/([^/]+/.+?)\.html$ /$1/
RedirectMatch 301 ^/folder_A/([^/.]+\.html)$ /$1
如果我能再次请你帮忙,现在这些功能需要改变这种格式:
RedirectMatch 301 ^/folder_A/([^/]+/.+?)\.html$ /$1/
RedirectMatch 301 ^/folder_A/([^/.]+\.html)$ /$1
对于这样的事情:
RewriteCond %{REQUEST_URI} XXXXX
RewriteRule XXXXX [L,R=301]
RewriteCond %{REQUEST_URI} XXXXX
RewriteRule XXXXX [L,R=301]
此请求的更改是因为使用第一种格式(RedirectMatch),目标URL最终显示为此文本“?sef_rewrite = 1”,并在询问电子商务软件论坛后,似乎问题是此格式相关到这个软件。
您能否帮助我将第一个功能转换为“重写”格式?
非常感谢