在重定向中将加号(+)替换为破折号(-)

时间:2019-04-27 16:20:40

标签: .htaccess

我正在尝试找出如何添加功能以在301重定向上替换加号“-”。但是有一些困难:

  • URL是已知的,但是有成千上万个子弹,因此对其进行硬编码并不理想。
  • 仅应对要重定向的链接进行替换功能,

例如,我有:

example.com/product/this+is+a+test

并希望将其重定向到

example.com/en/product/this-is-a-test

但是忽略

example.com/en/product/this+test+2

,因为它已经是一个“新”网址(仅匹配/ product而非/ en / product的链接)。

我当前正在使用:

RewriteEngine On
RewriteRule ^product(/.*)?$ /en/product$1 [L,NC,NE,R=301]

但是我不知道如何合并替换功能以仅与^ product(/.*)?$匹配。

我遇到了这个建议使用的线程Redirect slug, replace plus for dashes

RewriteRule ^(.*)+(.*)$ /$1-$2 [L,R=301]

但是我不知道如何合并这两个规则。

我想也许

RewriteRule ^product(/.*)+(.*)?$ /en/product$1-$2 [L,NC,NE,R=301]

可以工作,但是只会在网址末尾添加一个破折号。

任何帮助将不胜感激,在此先感谢您的宝贵时间!

0 个答案:

没有答案