用于将abc-def-32a-bb.jpg
重定向到bb.jpg
的当前代码
RewriteRule ^test/(.+\-)(.+\-)(.+\-)(.+\.(jpg))$ /wordpress/wp-content/uploads/2018/10/$4 [L]
但这是行不通的。我认为这是由于正则表达式问题。看起来(。+)包含破折号。我不确定如何解决此问题。
所以这里是一些用例。
abc-def-12a-bb-sf2.jpg
>>> bb-sf2.jpg
abc-def-12a-bb-sf2-fi3.jpg
>>> bb-sf2-fi3.jpg
所以实际上我只需要匹配第三个破折号,并且仅需要匹配第三个破折号之后的字符串。在第三个破折号之前,字符串可以包含文本(包括非ASCII字符)和数字。第三个破折号之后的字符串可以包含任何文本和数字(包括破折号和非ASCII字符)。 谢谢
答案 0 :(得分:0)
这是我的答案。
感谢@ user3783243
RewriteRule ^test/([^-]+-)([^-]+-)([^-]+-)(.+\.(jpg))$ /wordpress/wp-content/uploads/2018/10/$4 [L]
效果很好。