重定向.htaccess文件中的“日期”链接

时间:2017-08-28 11:34:58

标签: php wordpress .htaccess

我希望像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的新手,所以我真的很困惑,问题在哪里

1 个答案:

答案 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');

?>