将旧域名带尾斜杠的URL直接重定向到新域名无尾斜杠地址
解决旧域名带尾斜杠URL的直接重定向问题
你需要调整.htaccess规则,在旧域名的重定向环节直接去掉尾斜杠,避免两次跳转。修改后的配置如下:
<IfModule mod_rewrite.c> RewriteEngine On # 处理旧域名下带尾斜杠的URL,直接跳转到新域名无尾斜杠地址 RewriteCond %{HTTP_HOST} ^(www\.)?olddomain.com [NC] RewriteRule ^(.*)/$ https://newdomain.com/$1 [R=301,L,NC] # 处理旧域名下不带尾斜杠的URL,保持原有正常跳转 RewriteCond %{HTTP_HOST} ^(www\.)?olddomain.com [NC] RewriteRule (.*)$ https://newdomain.com/$1 [R=301,L,NC] </IfModule>
关键说明:
- 第一条规则专门匹配旧域名下以尾斜杠结尾的路径(
^(.*)/$),把斜杠去掉后直接拼到新域名上,实现一步跳转 - 第二条规则保留原有逻辑,处理不带尾斜杠的URL跳转
- 用
^(www\.)?olddomain.com合并了原有的两个RewriteCond,简化配置,效果和原来一致(匹配带www和不带www的旧域名) - 规则顺序很重要:必须先处理带尾斜杠的情况,否则会被第二条规则先匹配走
这样配置后,olddomain.com/page/会直接重定向到newdomain.com/page,彻底消除两次跳转的重定向链。
内容的提问来源于stack exchange,提问作者RocketBrian
相关产品推荐
相关产品推荐

