Php 重写Wordpress URL

Php 重写Wordpress URL,php,wordpress,.htaccess,mod-rewrite,Php,Wordpress,.htaccess,Mod Rewrite,最近,我改变了我的wordpress永久链接,以使它们更具可读性,并与其他博客所做的工作保持一致,这只是在末尾添加了postname,但是我对将旧永久链接重定向回新永久链接所需的.htaccess有一些问题 我之前的permalink结构如下: http://domain.com/%category%/%post_id%-%postname% 现在我想将其更改为以下内容: http://domain.com/%postname% 我曾经尝试过用URL重写来实现这一点,但不幸的是,我没有这样的

最近,我改变了我的wordpress永久链接,以使它们更具可读性,并与其他博客所做的工作保持一致,这只是在末尾添加了postname,但是我对将旧永久链接重定向回新永久链接所需的.htaccess有一些问题

我之前的permalink结构如下:

http://domain.com/%category%/%post_id%-%postname%
现在我想将其更改为以下内容:

http://domain.com/%postname%
我曾经尝试过用URL重写来实现这一点,但不幸的是,我没有这样的运气

RewriteRule ^/([^/]+)/(\d+)-([^/]+)/$ http://domain.com/$3 [L,R=301]
我对mod_重写的了解非常有限。我想知道是否有人能帮助我解释为什么会发生这种情况,以及我能做些什么来解决它。我基本上希望它重定向到正确的永久链接,带有“永久移动301”错误代码(这样谷歌就不会对我生气了)

感谢您的帮助

正则表达式看起来不错,
但是,这可能与URL中的尾部斜杠有关

尝试:


这应该可以在URL中使用或不使用尾随斜杠,我可能是错的,但是Wordpress不会自动使用吗?至少在POST中——如果你改变了slug,旧的slug仍然可以工作,但会重定向到新的301。permalinks不是也一样吗?也许你甚至不应该更改任何东西?

我认为这是因为我格式化链接的方式,我有帖子id-帖子名称,显然wordpress认为slug与帖子id有关。我更改时出现404个错误谢谢你的评论,我对.htaccess所做的任何更改似乎都会导致一个内部服务器错误,这很奇怪,也很烦人,所以我不知道我能在这里做些什么。每当我让它工作,它不工作的网址有多个类别设置。。。ie:/news/website news/1192 welcome/但是当url中只有一个类别时,这就是现在的工作方式
RedirectMatch 301^/([^/]+)/(\d+)-([^/]+)/?$http://domain.com/$3
当我添加一个新的重定向匹配和附加类别时,它将导致服务器错误。不知道我能在这里做什么
RewriteRule ^/([^/]+)/(\d+)-([^/]+)/?$ http://domain.com/$3 [L,R=301]