我希望像https://www.mywordpresssite.com/2017/08/28这样的链接被重写并重定向到:https://www.mywordpresssite.com/date-archives/2017/08/28。想法是将这些“日期”链接放在robots.txt中,这样如果链接中有“date-archives”,我就可以编写robots.txt支持的简单正则表达式。
这是我到目前为止所尝试的:
RewriteRule ^/date-archives/([0-9]+)/([0-9]+)/([0-9]+)/ https://www.mywordpressite.com/$1/$2/$3 [R=301,L]
因此,如果有人试图转到www.mysite.com/2017/08/28
,则应将其重定向到www.mysite.com/date-archives/2017/08/28
,该页面应打开与www.mysite.com/2017/08/28
页面相同的内容。
编辑: 我制作了一个处理重写的插件:
<?php
/**
*Plugin Name: SEO-date-archives-pages
*Plugin UIR:
*Author: VP
*/
add_action('init', 'rewrite_rule_example');
function rewrite_rule_example() {
add_rewrite_rule('^date-archives/([0-9]+)/([0-9]+)/([0-9]+)', '^([0-
9]+)/([0-9]+)/([0-9]+)', 'top');
}
&GT;
我是wordpress的新手,所以我真的很困惑,问题在哪里
答案 0 :(得分:1)
实际上你正在反向重定向。
您可以将此规则用作第一条规则:
RewriteEngine On
RewriteRule ^\d{4}/\d{2}/\d{2}/?$ /date-archives/$0 [R=301,L,NE]
# remaining Wordpress rules go below this
您的重写规则:
<?php
/**
*Plugin Name: SEO-date-archives-pages
*Plugin UIR:
*Author: VP
*/
function rewrite_rule_example() {
add_rewrite_rule('^date-archives/(\d+/\d+/\d+)/?$', '$matches[1]', 'top');
}
add_action('init', 'rewrite_rule_example');
?>