我是否错过了一些简单的事情?
你需要L
标志(以防止进一步处理),此指令应位于现有.htaccess
文件(即# BEGIN WordPress
第节)。
除非您已经定义了适当的RewriteBase
指令(WordPress前端控制器通常有此项),然后还需要在替换字符串前面加一个斜杠(尽管对于外部重定向,建议还是这样做)。
否则,您的正则表达式和替换字符串应该可以正常工作。
换句话说,在文件的顶部:
RewriteRule ^(.*)/item/(.*)-([0-9]+)$ /$1/item/$3 [R=302,L]
使用302(临时)重定向进行测试(以避免缓存问题),并仅在确认其正常工作时更改为301。
测试之前,您需要清除浏览器缓存。