我的知识记录

Typecho站点单页面 301301配置_西部数码虚拟主机适用

虚拟主机没有服务器 root 权限,单页面 301 只能靠目录级配置文件完成。Apache 主机把规则写进 .htaccess,IIS 主机把规则写进 web.config,两者语法不同但目标一致,返回码必须是 301,不能用 302 或 meta refresh。

Typecho 在 Apache 上的伪静态与 301 可以共存。WordPress 固定链接本身会生成 .htaccess 规则,自定义 301 加在 # BEGIN WordPress 之前,避免被后台保存时覆盖。ThinkPHP 的伪静态规则里把 index.php 隐藏,再单独加一条 301 把带 index.php 的地址跳到干净 URL。

配置参考(.htaccess 带 www 跳不带 www): ``` RewriteEngine On RewriteCond %{HTTP_HOST} ^www.域名.com$ [NC] RewriteRule ^(.*)$ http://域名.com/$1 [R=301,L] ```

规则写完用 HTTP 状态码查询工具 检测。curl -I http://旧地址 返回 HTTP/1.1 301 Moved Permanently,Location 指向新地址;再 curl -I 新地址 返回 200。连续跳不要超过 1 次,A→B→C 这种多级 301 会延迟权重传递。死循环表现为浏览器报 too many redirects,通常是条件没加 NC 或目标地址又命中同一条规则。

规则维护建议集中在一个文件,Apache 把所有 301 写在 .htaccess 顶部,IIS 写在 web.config 的 rules 顶部并加 stopProcessing="true"。定期清理过期规则,单文件规则超过 200 条会影响每次请求的匹配性能,可以把批量规则合并成一条正则。

HTTPS 站点的 301 要注意证书覆盖范围。带 www 与不带 www 都要在证书的 SAN 列表里,否则跳转到的域名证书不匹配,浏览器报不安全。多域名 301 同理,每个目标域名都要有有效证书,跳转链路上任何一个域名证书失效都会影响用户和蜘蛛抓取。

Typecho站点单页面 301301配置_西部数码虚拟主机适用

标签:

更新时间:2026-08-27 13:12:04

上一篇:数据库端口被占用_MySQL启动3306端口冲突解决

下一篇:IIS伪静态IP屏蔽规则设置_IIS常规伪静态设置教程详解