如果 URL 以 5 个数字结尾,则 htaccess 重定向

问题描述 投票:0回答:1

如何使用 .htacces 重定向以下匹配的 url:

旧网址:

  1. www.domein.com/en/product-12345
  2. www.domein.com/en/product-brand-12345
  3. www.domein.com/de/product-12345
  4. www.domein.com/de/product-brand-12345

新网址:

  1. www.domein.com/en/category/product-12345
  2. www.domein.com/en/category/product-brand-12345
  3. www.domein.com/de/category/product-12345
  4. www.domein.com/de/category/product-brand-12345

如您所见,所有需要重定向的网址都是以 5 个数字结尾的网址。

应该通过在 url 开头添加 /category/ 来重定向 url。

希望你能帮我找到解决方案。

提前致谢!

尝试过一些组合,但到目前为止根本不起作用。

.htaccess redirect
1个回答
0
投票

应该通过在 url 开头添加 /category/ 来重定向 url。

在您的示例中,您没有在 URL 的开头添加

/category/
,而是在“语言”和“product-slug”路径段之间的中间添加。

您可以使用 mod_rewrite 在根

.htaccess
文件的顶部执行类似以下操作:

RewriteRule ^(en|de)/([a-z-]+-\d{5})$ /$1/category/$2 [R=301,L]

$1
反向引用包含从请求的 URL 路径捕获的语言代码(
en
de
)。
$2
是“产品段”(单个路径段),以
-NNNNN
结尾(其中
N
是数字 0-9)。

我假设

-NNNNN
之前的“product-slug”只能由小写字母 a-z 和连字符组成(根据您的示例)。

使用 302(临时)重定向进行测试,以避免潜在的缓存问题,并确保在测试之前已清除浏览器缓存。

© www.soinside.com 2019 - 2024. All rights reserved.