求助:用.htaccess将SEO友好分页链接转为查询字符串
解决博客分页URL的404问题
首先确保你的.htaccess文件开头已经开启重写引擎:
RewriteEngine On
然后替换你原来的规则为:
RewriteRule ^blog/page/([0-9]+)$ /blog?page=$1 [R=302,L]
原规则失效的常见原因
- 相对路径错误:你之前写的
blog?page=$1是相对路径,服务器可能会解析为当前目录下的blog,导致跳转路径偏差。加上开头的/使用绝对路径/blog?page=$1,能确保指向根目录下的博客页面。 - 规则顺序冲突:如果
.htaccess里还有其他重写规则(比如博客文章的URL规则),可能会优先匹配导致分页规则不生效。把这条分页规则放在所有规则的最前面,保证它先被匹配。 - 服务器配置限制:确认服务器已启用
mod_rewrite模块,并且站点配置中设置了AllowOverride All,允许.htaccess覆盖默认配置。
后续测试与优化
- 先用
R=302临时跳转验证功能正常,确认无误后改成R=301永久跳转,更利于SEO。 - 如果博客部署在子目录(比如
xxxx.com/sub/blog/),需要调整规则为:RewriteRule ^sub/blog/page/([0-9]+)$ /sub/blog?page=$1 [R=302,L]
内容的提问来源于stack exchange,提问作者Gürhan Gördük
相关产品推荐
相关产品推荐

