应通过配置全站301重定向实现旧域名到新域名的永久跳转,方法包括:一、手动修改Nginx或Apache配置文件添加return或RewriteRule规则;二、使用宝塔面板【重定向】功能图形化设置;三、在index.php顶部插入PHP跳转代码。

如果您已在宝塔面板中部署了网站,并希望将旧域名的所有访问请求完整、永久地跳转至新域名,则需通过配置全站301重定向实现。以下是具体操作步骤:
一、通过网站配置文件手动添加重定向规则
该方法直接修改Nginx或Apache的站点配置文件,适用于所有版本宝塔面板,生效快且无需额外插件。Nginx用户需在server块内添加return指令;Apache用户需启用mod_rewrite并写入RewriteRule。
1、登录宝塔面板,进入【网站】页面,找到目标站点,点击右侧【设置】按钮。
2、在弹出窗口中切换到【配置文件】选项卡,确认当前Web服务器类型:若顶部显示“Nginx配置”,则继续第3步;若显示“Apache配置”,则跳至第5步。
3、在Nginx配置文件中,找到包含server_name的那一行,在其下方插入以下代码(请将old-domain.com替换为您的旧域名,new-domain.com替换为新域名):
return 301 https://new-domain.com$request_uri;
4、保存配置文件,返回【网站】列表,点击该站点右侧的【重载配置】按钮使规则生效。
5、若为Apache环境,在配置文件中找到<Directory>区块,在其内部末尾添加以下两行:
RewriteEngine on
RewriteRule ^(.*)$ https://new-domain.com$1 [R=301,L]
6、保存后同样点击【重载配置】。
二、使用宝塔面板内置的“重定向”功能
该方式图形化操作,避免手动编辑配置错误,适合不熟悉服务器配置的用户。宝塔专业版与免费版均支持此功能,但免费版仅允许创建1个重定向规则,需确保覆盖全部路径。
1、进入【网站】页面,点击目标站点右侧【设置】。
2、在左侧菜单中选择【重定向】,点击右上角【添加重定向】。
3、在【重定向名称】中填写标识名称,如“全站跳转”。
4、【源域名】处填写旧域名,格式为old-domain.com;勾选【匹配所有子域名】和【匹配所有路径】。
5、【目标URL】输入完整新地址,例如:https://new-domain.com(注意保留以继承原始路径)。
6、【类型】选择【301永久重定向】,取消勾选【仅重定向根目录】。
7、点击【提交】,系统自动写入配置并重载服务。
三、通过PHP代码在首页文件中实现
当无法修改服务器配置(如共享主机限制)时,可在网站入口文件(如index.php)顶部插入PHP跳转逻辑。该方式依赖脚本执行,适用于单入口架构,但会略微增加响应延迟。
1、进入【文件】页面,定位到网站根目录,打开index.php(若为WordPress等程序,请编辑其根目录下的index.php而非主题内文件)。
2、在文件最顶端(
if ($_SERVER['HTTP_HOST'] == 'old-domain.com' || $_SERVER['HTTP_HOST'] == 'www.old-domain.com') { header('HTTP/1.1 301 Moved Permanently'); header('Location: https://new-domain.com'.$_SERVER['REQUEST_URI']); exit(); }
3、若网站存在多个旧域名变体(如带www与不带www),请在条件判断中用||连接全部HOST值。
4、保存文件,刷新浏览器验证跳转是否触发。
四、利用.htaccess文件配置(仅限Apache环境)
该方法独立于宝塔面板设置,直接作用于站点根目录,适合需要快速部署或临时调试的场景。要求服务器已启用AllowOverride且根目录允许.htaccess生效。
1、进入【文件】页面,打开网站根目录,确认是否存在.htaccess文件;若无,右键选择【新建文件】,命名为.htaccess。
2、双击打开该文件,在空白内容中粘贴以下三行:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?old-domain\.com$ [NC]
RewriteRule ^(.*)$ https://new-domain.com/$1 [R=301,L]
3、保存后,检查宝塔【网站】→【设置】→【配置文件】中Apache配置是否包含AllowOverride All(通常默认开启)。
4、如未生效,尝试在【网站】设置中点击【重载配置】或重启Apache服务。










