Regex 重写规则无效:是正则表达式还是其他语言?

Regex 重写规则无效:是正则表达式还是其他语言?,regex,.htaccess,mod-rewrite,redirect,url-rewriting,Regex,.htaccess,Mod Rewrite,Redirect,Url Rewriting,我正在使用Rack Rewrite从两个网站进行301重定向。这是gem,在文档中有以下示例: rewrite %r{/wiki/John_Trupiano(\?.*)?}, '/john$1' 我尝试使用正则表达式编写重定向: r301 %r{/(?<=prodotti\/)?.*(?=\/)/}, '/prodotti/$1' 但这是行不通的 基本上我有一些url/prodotti/1996/HTC-One-M8.html,我需要301重定向到/prodotti/

我正在使用Rack Rewrite从两个网站进行301重定向。这是gem,在文档中有以下示例:

rewrite %r{/wiki/John_Trupiano(\?.*)?}, '/john$1'
我尝试使用正则表达式编写重定向:

r301      %r{/(?<=prodotti\/)?.*(?=\/)/},     '/prodotti/$1'
但这是行不通的

基本上我有一些url/prodotti/1996/HTC-One-M8.html,我需要301重定向到/prodotti/1996

更新

在我的网站上,我还有一些其他的路线,比如

/prodotti/latest、/prodotti/1996、/prodotti/all

我需要与两者之间的ID匹配的东西//仅当源代码类似于/prodotti/1996/HTC-One-M8.html时


我的正则表达式工作:/?以下正则表达式将完成此操作:

\/普罗多蒂\/[^\/]*


演示:

我无法使用此页面,我在/prodotti/中还有其他页面。。。。我需要匹配//和之间的ID,并将ID追加到prodotti/@RobertoPezzali,如果我理解正确,那么这将完全做到这一点。但是,如果这不是你的意思,请用新问题更新你的问题,然后让我知道。现在更新,我希望现在问题更清楚。@RobertoPezzali,这样更好吗?现在,第一个捕获的组就是您想要的ID。