如何禁止通过日期路径访问WordPress文章 仅允许通过slug访问
操作步骤(WordPress禁用日期路径访问文章)
你已经将固定链接设置为「Post name(文章名)」,仍然可以通过日期路径访问是WordPress默认兼容多格式URL解析导致的,按以下方法即可禁用:
方法1:添加代码实现(最便捷)
将以下代码添加到当前使用主题的functions.php文件末尾,或通过自定义代码插件插入:
add_action('template_redirect', 'disable_date_url_access'); function disable_date_url_access() { // 匹配所有日期格式的路径(日期归档、日期路径访问的单篇文章) if (is_date() || (get_query_var('year') && get_query_var('monthnum') && get_query_var('day'))) { global $wp_query; // 直接返回404 $wp_query->set_404(); status_header(404); // 若需要跳转到首页,可替换上面两行代码为:wp_redirect(home_url(), 301); exit; } }
保存后清空站点缓存即可生效。
方法2:服务器重写规则(性能更高)
如果有服务器配置权限,可以直接通过重写规则拦截所有日期路径的访问:
- Nginx站点配置中添加规则:
rewrite ^/[0-9]{4}/[0-9]{2}/[0-9]{2}/.*$ /404 last;
- Apache在站点根目录
.htaccess文件开头添加规则:
RewriteRule ^[0-9]{4}/[0-9]{2}/[0-9]{2}/.*$ - [R=404,L]
验证
配置完成后分别测试:
- 别名格式URL(如
https://www.carreirafinance.com/goals-to-set/)可正常访问 - 日期格式URL(如
https://www.carreirafinance.com/2021/01/19/)返回404或你指定的跳转目标即可
内容的提问来源于stack exchange,提问作者Carreira Finance
相关产品推荐
相关产品推荐

