gpt4 book ai didi

.htaccess - 从 url 中去除父类别

转载 作者:行者123 更新时间:2023-12-04 12:04:30 24 4
gpt4 key购买 nike

我正在努力解决 301 重定向和 htaccess 的问题。我已将网站从旧域移至新域。我已经成功地通过 301 重定向成功地做到了这一点。如此:

Redirect 301 / https://newdomain.com

在旧网站上,子类别网址如下所示:
olddomain.com/product-category/parent-cat1/parent-cat2/child-cat

或者
olddomain.com/product-category/parent-cat1/child-cat

或者
olddomain.com/product-category/child-cat

而在新网站上,它们是:
newdomain.com/product-category/child-cat

不幸的是,这会导致重定向产生 404。有什么方法可以从 url 中删除父类别(可能因名称和数量而异)?

提前感谢您的任何建议,干杯

最佳答案

尝试包含以下内容 RedirectMatch在您现有的 Redirect 之前的指令指示:

RedirectMatch 302 ^/([\w-]+)/(?:[\w-]+/)+([\w-]+)$ https://newdomain.com/$1/$2
RedirectMatch指令是对 Redirect 的补充指令,都是 mod_alias 的一部分。除了 RedirectMatch指令使用正则表达式来匹配 URL 路径,而 Redirect使用简单的前缀匹配。

这假设路径段(即“product-category”、“parent-cat”和“child-cat”)仅包含字符 a-z , A-Z , 0-9 , _- (连字符)。这需要尽可能具体,以免匹配“太多”。需要一只或多只“母猫”。
$1是对模式中第一个捕获组的反向引用。 IE。 ([\w-]+) ,产品类别。和 $2是对第二个捕获组的反向引用,即。 ([\w-]+)在模式的末尾,小猫。 (?:....)中间的“组”是一个非捕获组,因此没有适用于此的反向引用。

这是一个 302(临时)重定向。只有在它工作正常时才将其更改为 301。使用 302s 更容易测试,因为它们没有被浏览器缓存。因此,您需要在测试前确保浏览器缓存已清除。

关于.htaccess - 从 url 中去除父类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44098024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com