Htaccess 重定向重写规则不起作用



我想将带有连衣裙的网址重定向到apparel-clothes/dresses。例如:

  • abc.com/dresses
  • abc.com/dresses/casual
  • abc.com/dresses/evening-wear
  • abc.com/dresses/little-black-dress

应该全部重定向到abc.com/apparel-clothes/dresses.我试图编写重定向规则,但它不起作用:

RewriteRule ^(.*)/dresses/(.*)$ $1/apparel-clothes/dresses/$2 [R=301,L]

域名永远不会成为您RewriteRule的一部分,因此您不应包含它(否则,您定义的第一个捕获组没有意义)。它应该看起来更像这样:

RewriteRule ^dresses/?(.*)$ /apparel-clothes/dresses/$1 [R=301,L]

这会将http://abc.com/dresses重写为http://abc.com/apparel-clothes/dresses/等等。

你很接近,但前导斜杠在RewriteRule .htaccess中不匹配。

使用此规则:

RewriteEngine On
RewriteRule ^(dresses.*)$ /apparel-clothes/$1 [L,NC,R=301]

最新更新