【问题标题】:htaccess: redirect article one level deeper without loophtaccess:在没有循环的情况下将文章更深一层重定向
【发布时间】:2020-07-18 17:15:27
【问题描述】:

我有一个这样的网址:

https://example.com/product/my-product-name

我需要重定向到:

https://example.com/product/item/my-product-name

我尝试了多种解决方案,也尝试了我在 SO 上找到的解决方案,但是当我访问 /product (不应重定向)时,我最终陷入了无限循环,当我调用“旧”产品时,我也进行了多次重定向。

所以: https://example.com/product/item/my-product-name

应不重定向。

https://example.com/product/my-product-name 应重定向到 https://example.com/product/item/my-product-name

和

https://example.com/product/ 和 https://example.com/product 不得重定向。

有人可以帮我解决这个问题吗?谢谢!

【问题讨论】:

    标签: regex apache .htaccess redirect http-redirect


    【解决方案1】:

    您可以在站点根目录.htaccess 中使用此重定向规则作为您的最顶层规则:

    RewriteEngine On
    
    RewriteRule ^(product)/(?!item/)(.+)$ /$1/item/$2 [L,NE,R=301]
    

    确保在测试此更改之前清除浏览器缓存。

    【讨论】:

    • 不幸的是它没有成功,但我找到了另一个对我有用的解决方案。我现在正在使用手机,因此无法发布解决方案,但一旦我回到计算机上,我会更新它。
    • 我在这个答案中发现了一个错误并修复了它。请再试一次。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    相关资源
    最近更新 更多