Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 将旧自定义post类型slug的.htaccess文件重定向到带有post的新slug_Wordpress_.htaccess_Url Redirection_Custom Post Type - Fatal编程技术网

Wordpress 将旧自定义post类型slug的.htaccess文件重定向到带有post的新slug

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

我有一个自定义的带有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}


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表达式输出第一个通配符