.htaccess 如何为404页面创建一个重定向规则与许多不同的路径

xdnvmnnf  于 2022-12-23  发布在  其他
关注(0)|答案(1)|浏览(98)

这里我的问题,我的网站上有很多404页,但他们曾经是相同的网页不同的路径

/mens/designers/mens/wales-bonner
/mens/designers/casual-shirts/wales-bonner
/mens/designers/coats-and-jackets/wales-bonner

等等。
客户希望重定向到类别,因此

/mens/designers/mens/
/mens/designers/casual-shirts/
/mens/designers/coats-and-jackets/

我非常肯定,一定有一种方法可以让regex规则覆盖所有这些规则,但我似乎找不到方法
比如RewriteRule ^/mens/designers/(.*)/wales-bonner /mens/designers/(.*)
但它不工作,我不知道如何分组URL的中间部分
有人能帮忙吗?

zdwk9cvp

zdwk9cvp1#

我发现您的重写规则存在几个潜在问题:
1.您在输出URL中具有捕获组,而不是使用$1来使用输入URL中捕获组的结果。

  1. ^/.htaccess中不起作用,只在Apache .conf文件中起作用。我将使用^/?代替,它在任何上下文中都起作用。这使得开始斜杠是可选的。
    1.您没有在规则中包含[R]标志以使其成为重定向。
    1.您没有在规则中包含[L]标志,以防止任何以下规则干扰它。
    您也可以将“mens/designers”添加到捕获组中,这样您就不必在输出中重复它。
RewriteRule ^/?(mens/designers/.*)/wales-bonner /$1 [R=301,L]

相关问题