Wordpress 将旧自定义post类型slug的.htaccess文件重定向到带有post的新slug
我有一个自定义的带有slug的post类型,如下所示:。现在,CPT有这样的slug: 基本上,段塞从换线更改为换线。我想自动重定向任何旧的更改线路。我认为一个可能的解决方案是使用重定向匹配规则,但我不确定这是否正确: 我只能做一个职位,但我需要它的所有职位 这将有助于: 重定向301https://mysitename.org/change-wire/post-name-here https://mysitename.org/changewire/post-name-here 如何使所有具有change wire/{post name}的帖子都能更改为changewire/{post name}Wordpress 将旧自定义post类型slug的.htaccess文件重定向到带有post的新slug,wordpress,.htaccess,url-redirection,custom-post-type,Wordpress,.htaccess,Url Redirection,Custom Post Type,我有一个自定义的带有slug的post类型,如下所示:。现在,CPT有这样的slug: 基本上,段塞从换线更改为换线。我想自动重定向任何旧的更改线路。我认为一个可能的解决方案是使用重定向匹配规则,但我不确定这是否正确: 我只能做一个职位,但我需要它的所有职位 这将有助于: 重定向301https://mysitename.org/change-wire/post-name-here https://mysitename.org/changewire/post-name-here 如何使所有具有c
RedirectMatch 301???
使用RedirectMatch
执行此操作,因为它使用正则表达式:
RedirectMatch 301 /change-wire/(.*) /changewire/$1
如果有更多的目录,如anything
,您可以这样做:
RedirectMatch 301 /(.+)-(.+)/(.*) /$1$2/$3
注意:清除浏览器缓存,然后进行测试,确保没有其他规则阻止执行这些操作。使用
重定向匹配执行,因为它使用正则表达式:
RedirectMatch 301 /change-wire/(.*) /changewire/$1
如果有更多的目录,如anything
,您可以这样做:
RedirectMatch 301 /(.+)-(.+)/(.*) /$1$2/$3
注意:清除浏览器缓存,然后进行测试,确保没有其他规则阻止执行这些缓存。尝试以下操作:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)/change-wire/(.*)$ $1/changewire/$2 [R,L]
希望这能奏效 试试这个:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)/change-wire/(.*)$ $1/changewire/$2 [R,L]
希望这能奏效 您可以使用正则表达式执行此操作:
RedirectMatch 301 /old-slug/(.*) /newslug/$1
就你而言
RedirectMatch 301 /change-wire/(.*) /changewire/$1
这里,
(*)是一个通配符,它匹配在/old slug/之后出现的任何内容,并将其保存以在目标URL中使用,$1从源URL表达式输出第一个通配符。可以使用正则表达式:
RedirectMatch 301 /old-slug/(.*) /newslug/$1
就你而言
RedirectMatch 301 /change-wire/(.*) /changewire/$1
这里,
(*)是一个通配符,它匹配在/old slug/之后出现的任何内容,并将其保存以在目标URL中使用,$1从源URL表达式输出第一个通配符