建立新网站后,我的htaccess中有几个重定向,由于SEO原因,这些用户会将用户重定向到正确的页面。
所有301重定向均采用以下格式之一:
对于页面
Redirect 301 /page.html /new-page
对于产品
Redirect 301 /webshop/category-name/subcategory-name/detail/123/product-name.html /product/product-name
子类别是可选的,并非所有产品都在一个子类别中,但是它们至少具有1个类别。 123是产品ID,在所有产品上都不同。
对于类别
Redirect 301 /webshop/category-name/subcategory-name /category/category-name
子类别是可选的。
效果很好,但是由于该网站可以通过2个域(荷兰语和英语站点)访问,因此只有在域为dutchdomain
和englishdomain
时,这些重定向才有效。
因此,我了解了rewriteEngine,rewriteCond和rewriteRule并尝试了以下方法:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.dutchdomain\.nl [NC]
RewriteRule /faq.html /faq/ [L,R=302]
但这不起作用。如何在域条件下工作? 有没有一种方法可以通过常规表达式做到这一点,所以我只有几行,而不是现在的1668行?
我使用正则表达式webshop (*.+\)\
替换了旧网站站点地图中产品的网址。页面的url和类别的I手动替换。