【问题标题】:How to redirect via htaccess to a new URL structure如何通过 htaccess 重定向到新的 URL 结构
【发布时间】:2020-02-24 10:36:43
【问题描述】:

我在通过 htaccess 重定向和重写规则时遇到问题。

我需要更改此网址:

www.mydomain.com/category/product-a/

www.mydomain.com/products/category/product-a/ 

我正在使用带有一组规则的 htaccess。我可以使新的 URL 正常工作,但我需要将旧结构重定向到新结构。我不想在两个不同的 URL 上拥有相同的内容。

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

【问题讨论】:

  • 那么,categoryproduct-a 可以是“任何东西”或仅限于特定的子集或字符集?尽可能严格以避免与其他指令冲突是很重要的。该解决方案还可能取决于您的 .htaccess 文件中的其他指令。

标签: .htaccess url redirect


【解决方案1】:

使用 mod_rewrite 在您的 .htaccess 文件顶部尝试以下类似操作:

RewriteEngine On

RewriteRule ^([\w-]+/[\w-]+/)$ /products/$1 [R,L]

这会将/<category>/<product>/ 重定向到/products/<category>/<product>/,其中<category><product> 可以包含字符a-zA-Z0-9_(下划线)或-(连字符) .

这也是一个临时 (302) 重定向,只有在您确认它按预期工作后,才将 R 更改为 R=301

【讨论】:

  • 如果这有助于回答您的问题,请将其标记为“已接受”(在投票箭头下方左侧打勾/复选标记)以将其从未回答的问题队列中删除并帮助其他读者。一旦您拥有 15 次以上的代表,您还可以对您认为有用的答案进行投票。谢谢,非常感谢。 :)
猜你喜欢
  • 2012-03-23
  • 2013-01-07
  • 2020-05-03
  • 1970-01-01
  • 2012-08-10
  • 1970-01-01
  • 1970-01-01
  • 2017-04-15
  • 1970-01-01
相关资源
最近更新 更多