如何在.htaccess中重写URL,为WordPress带日期的固定链接添加blog slug
完整.htaccess修改方案
修改后的完整规则如下,直接替换原有.htaccess内容即可:
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / # 日期格式文章链接加/blog前缀规则 RewriteCond %{REQUEST_URI} !^/blog/ RewriteRule ^([0-9]{4}-[0-9]{2}-[0-9]{2}-.*)$ /blog/$1 [R=301,L] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
规则说明
- 新增的
RewriteCond条件先过滤已经带有/blog/前缀的请求,避免触发无限重定向循环 - 正则规则
^([0-9]{4}-[0-9]{2}-[0-9]{2}-.*)$仅匹配路径开头符合「4位年份-2位月份-2位日期-」格式的文章链接,不会影响站点其他页面、分类、标签等路径的正常访问 R=301表示使用301永久重定向,利于搜索引擎收录更新,L表示匹配到该规则后不再执行后续重写规则- 测试阶段可先将
R=301替换为R=302临时重定向,确认逻辑无误后再改回301,避免浏览器缓存错误规则影响正常访问
配套WordPress后台配置
修改完.htaccess后,需要登录WordPress后台进入「设置」-「固定链接」页面,选择自定义结构,填入/blog/%year%-%monthnum%-%day%-%postname%/后保存设置,让站点主动生成带/blog/前缀的文章链接,无需每次靠重定向跳转,提升访问体验和SEO效果。
内容的提问来源于stack exchange,提问作者harry
相关产品推荐
相关产品推荐

