.htaccess 一旦设置了父301重定向,则子页面重定向不起作用

ugmeyewa  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(130)

我在301重定向中遇到问题

示例1

我有一个名为https://www.example.com/abc/xyz-1的URL,必须重定向到https://www.example.com/abc/xyz
所以我已经尝试了下面的代码,它的工作.

Redirect 301 /abc/xyz-1 https://www.example.com/abc/xyz

示例2

我还有一个URL需要重定向
https://www.example.com/abchttps://www.example.com/postname,我尝试了下面的代码,这也是工作。

Redirect 301 /abc https://www.example.com/postname

现在我的问题是,一旦我在我的htaccess中添加了上面的代码,那么第一个例子就停止工作了。
有什么办法可以解决这个问题吗?

p1iqtdky

p1iqtdky1#

Redirect模块通常是处理相似匹配URI的最佳选择,因为在这两种情况下,它只匹配起始部分/abc
您应该考虑使用支持正则表达式的RedirectMatch进行精确匹配:

RedirectMatch 301 ^/abc/xyz-1/?$ /abc/xyz

RedirectMatch 301 ^/abc/?$ /postname

RedirectMatch 301 ^/job/?$ /opening/

注意这里使用正则表达式锚点^$是为了精确匹配。例如,^/abc/?$将匹配/abc/abc/,但不会影响/abc/xyz-1

相关问题