我在尝试添加重写规则时遇到了一个奇怪的问题。
首先,关于我的设置的说明。我正在使用 date.php 文件进行网站上的另一个特定设置。
我遇到问题的区域是自定义档案页面。为了不弄乱 date.php 模板,我尝试在 wordpress 中建立一个新页面,然后创建我自己的模板来显示档案。
为了捕捉带有日期的 url 而不是重定向到 date.php 我设置了以下 add_rewrite_rules :
function my_archives() {
add_rewrite_rule("my-archives/([0-9]{4})/([0-9]{1,2})/page/([0-9]{1,})/?$", 'index.php?pagename=my-archives&year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]', 'top');
add_rewrite_rule("my-archives/([0-9]{4})/([0-9]{1,2})/?$", 'index.php?pagename=my-archives&year=$matches[1]&monthnum=$matches[2]', 'top');
}
add_action('init', 'my_archives');
我认为一切都很好,因为我的链接工作正常。示例: http: //mysite.com/my-archives/2013/09/ 以及 http://mysite.com/my-archives/2013/09/page/2/ 用于分页结果。
现在一个月后,我看到由于某种原因它只会正确重定向到当前日期后一个月的日期。因此,当前日期是 2013/10/ 它只是重定向 /2013/09/ ,其他所有内容都被重定向到 404 页面。
任何关于可能原因的建议,或者如果有人在我的代码中看到不正确的内容,我们将不胜感激。