.htaccess Htaccess重定向重写规则不工作

.htaccess Htaccess重定向重写规则不工作,.htaccess,redirect,.htaccess,Redirect,我想将带有连衣裙的url重定向到服饰/连衣裙。 例如: abc.com/dresses abc.com/连衣裙/休闲装 abc.com/连衣裙/晚装 abc.com/dresses/little-black-dress 应该全部重定向到abc.com/apparel-sweats/dresses。我试图编写重定向规则,但它不起作用: RewriteRule ^(.*)/dresses/(.*)$ $1/apparel-clothes/dresses/$2 [R=301,L] 您很接近,但在

我想将带有连衣裙的url重定向到
服饰/连衣裙
。 例如:

  • abc.com/dresses
  • abc.com/连衣裙/休闲装
  • abc.com/连衣裙/晚装
  • abc.com/dresses/little-black-dress
应该全部重定向到abc.com/apparel-sweats/dresses。我试图编写重定向规则,但它不起作用:

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

您很接近,但在
重写规则
中的
.htaccess
中,前导斜杠不匹配

使用此规则:

RewriteEngine On

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

域名从来不是您的
重写规则的一部分,因此您不应该包含它(否则,您定义的第一个捕获组就没有意义)。它应该更像这样:

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

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

我想用服装/连衣裙取代连衣裙。我试过这条规则,但不起作用。