要实现 301 指向首页,通常可通过以下几种常见方式:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^旧域名/.com$ [OR]
RewriteCond %{HTTP_HOST} ^www/.旧域名/.com$
RewriteRule ^(.*)$ http://新域名.com/$1 [R=301,L]
上述代码中,将 “旧域名.com” 替换为你实际要重定向的域名,“新域名.com” 替换为目标首页所在的域名。例如,若要将 “olddomain.com” 及 “www.olddomain.com” 都 301 重定向到 “newdomain.com” 的首页,代码则为:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain/.com$ [OR]
RewriteCond %{HTTP_HOST} ^www/.olddomain/.com$
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]
RewriteEngine On
RewriteRule ^old - directory/(.*)$ http://新域名.com/ [R=301,L]
在 Nginx 的站点配置文件中进行设置。找到对应站点的配置段,通常类似如下结构:
server {
listen 80;
server_name 旧域名.com www.旧域名.com;
# 其他配置...
}
在上述配置中添加或修改为:
server {
listen 80;
server_name 旧域名.com www.旧域名.com;
return 301 $scheme://新域名.com$request_uri;
# 其他配置...
}
同样,将 “旧域名.com” 和 “新域名.com” 替换为实际域名。例如:
server {
listen 80;
server_name olddomain.com www.olddomain.com;
return 301 $scheme://newdomain.com$request_uri;
# 其他配置...
}
RewriteCond Host: ^www/.旧域名/.com$
RewriteRule (.*) http/://新域名.com$1 (I,R)
4. 通过编程语言实现(以 PHP 为例):
在网站入口文件(如index.php)或需要进行重定向的页面文件头部添加如下 PHP 代码:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://新域名.com/");
exit();
?>
将 “新域名.com” 替换为目标首页的域名。需注意,这种方式若要对整个网站生效,需确保每个页面都包含此代码,或者通过配置服务器让所有页面请求都经过包含此代码的入口文件。
5. 利用虚拟主机控制面板(部分虚拟主机提供此功能):
完成 301 指向首页设置后,可通过一些在线工具(如爱站网的 301 重定向检测工具、站长工具中的 301 检测功能等)检查重定向是否生效,确保从原域名访问时能正确跳转到目标首页,并且 HTTP 状态码为 301。同时,搜索引擎可能需要一定时间来更新对重定向的抓取和索引,耐心等待一段时间后,查看网站在搜索引擎中的表现是否符合预期。