SEO 百科

.htaccess

本页目录

.htaccess

.htaccess 是目录级配置文件,Apache 以及兼容它的服务器都会读取。Apache 的教程说明它的用途:可以在这一类文件里放置指令,作用范围是它所在的目录以及该目录下的全部子目录[1]。站长最常在里面做的事是重写规则、访问控制、错误页与缓存头。

什么时候用得到

它的好处是不用改服务器主配置、不需要重启服务就能生效,共享主机与面板环境里往往只允许改这一层。代价是每次请求都要读它,Apache 的文档也建议:如果自己有权限改主配置,就用主配置,性能更好[1]。

SEO 相关的四类用法

重写与跳转。路径改写、补 www、协议升级都在这里做,永久搬家要用 301,规则顺序决定命中[2]。

错误页。把 404 与 5xx 指到自定义页面,返回码要保持正确;返回 4xx 的网址,Google 不会用其中的内容,已收录的会逐步从索引移除[3]。

缓存与压缩头。给静态资源加 Cache-Control 与 Expires,为文本启用压缩,这些直接影响加载性能[4]。

访问控制与屏蔽。按路径或用户代理限制访问时要谨慎:robots.txt 也可以放在这一层规则里,但屏蔽抓取会让引擎读不到页面上的 noindex[5]。

三个高频故障

规则写错导致全站 500,抓取端表现为服务器错误;.htaccess 不被读取,多半是主配置里 AllowOverride 关着[1];编码与换行被编辑器改坏,规则莫名失效。

排查顺序是先备份、再逐段注释回退,最后用服务器错误日志定位是哪一行。

与其他两条的分工

mod_rewrite 是执行重写的那块 Apache 模块,.htaccess 是放规则的位置之一,两者的关系是模块提供能力、文件提供作用域[1]。Nginx 没有这个文件,同一批规则要改写成它的 rewrite 语法[6]。

常见误用

第一种是把所有配置都塞进来,包括本该写在主配置里的全局项,性能与维护都吃亏[1]。第二种是用它屏蔽路径来隐藏内容,却指望页面消失,正确的移除路径在内容移除那几篇里[5]。第三种是改版时不留迁移清单,旧地址全成 404。

附录

参见

参考资料

官方(境外)

  1. 《Apache HTTP Server Tutorial: .htaccess files》,Apache HTTP Server Project。
  2. 《Htaccess Redirects》,Backlinko。
  3. 《Google 搜索中的 HTTP 与网络错误》,Google 搜索中心。
  4. 《使用 HTTP 缓存提升网站性能》,web.dev。
  5. 《阻止内容出现在 Google 搜索结果中》,Google 搜索中心。
  6. 《nginx rewrite module》,NGINX。

外部链接