关于多域名不同路径URL重定向配置的技术咨询
3个域名重定向需求实现方案
注意:所有配置都需要将/post路径的重定向规则优先级设为高于根路径重定向规则,避免路径匹配冲突。且配置前需确保3rdurl.com已经完成DNS解析,指向对应规则部署的服务器/CDN节点。
方案1:Nginx 服务器配置
编辑3rdurl.com对应的Nginx虚拟主机配置文件,添加如下规则:
server { listen 80; listen 443 ssl; server_name 3rdurl.com; # 若需要HTTPS访问,自行补充ssl_certificate、ssl_certificate_key证书配置项 # 匹配/post及所有子路径重定向 location ^~ /post { rewrite ^/post(.*)$ https://2nndurl.com/post$1 permanent; } # 仅匹配根路径/重定向 location = / { return 301 https://Mainurl.com; } # 其他路径可根据需求自行补充处理规则,无特殊需求可默认返回404 }
配置完成后执行nginx -s reload生效。如果需要临时重定向,把permanent改成redirect、301改成302即可。
方案2:Apache 服务器配置
找到3rdurl.com对应的虚拟主机配置文件,或站点根目录下的.htaccess文件,添加如下规则:
RewriteEngine On # 处理/post及子路径重定向 RewriteRule ^/post(.*)$ https://2nndurl.com/post$1 [L,R=301] # 处理根路径重定向 RewriteRule ^/$ https://Mainurl.com [L,R=301]
如果规则写在.htaccess文件中,需要去掉路径开头的斜杠,改为:
RewriteEngine On RewriteRule ^post(.*)$ https://2nndurl.com/post$1 [L,R=301] RewriteRule ^$ https://Mainurl.com [L,R=301]
方案3:域名托管/CDN平台页面规则配置
如果域名解析在云服务商平台,无需自行管理服务器,直接配置页面规则即可,通用配置逻辑如下:
- 第一条规则:匹配URL为
3rdurl.com/post/*,动作选择重定向,状态码选301,目标URL填https://2nndurl.com/post/$1 - 第二条规则:匹配URL为
3rdurl.com/,动作选择重定向,状态码选301,目标URL填https://Mainurl.com
内容的提问来源于stack exchange,提问作者John Smith
相关产品推荐
相关产品推荐

