You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不使用子域名的情况下将子目录托管到不同服务器?

同域名下多服务器内容托管实现方案

完全可以实现你的需求,不用子域名就能让用户访问domain.com/landing-pages/other-stuff时,实际获取lp.domain.com/other-stuff的内容,以下是几种可行方案:

1. 反向代理(最常用方案)

在主站服务器(托管domain.com/main-stuff的服务器)上配置反向代理规则,将匹配/landing-pages/*路径的请求转发到lp.domain.com的对应路径。

Nginx配置示例

在主站的Nginx配置文件中添加如下规则:

location ^~ /landing-pages/ {
    # 去掉路径前缀/landing-pages/,转发到lp服务器的对应路径
    proxy_pass https://lp.domain.com/;
    # 传递原始请求头,确保lp服务器能正确处理
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

配置完成后重启Nginx即可生效。需要确保lp.domain.com服务器允许来自主站服务器的代理请求,可通过防火墙规则或配置Access-Control-Allow-Origin实现。

2. CDN路由规则配置

如果你的域名使用了CDN服务(如Cloudflare、阿里云CDN等),可以直接在CDN后台配置路径路由策略:

  • 匹配路径:/landing-pages/*
  • 转发目标:https://lp.domain.com/$1($1代表匹配到的/landing-pages/之后的部分)
  • 同时设置URL重写,保持用户地址栏显示domain.com/landing-pages/other-stuff

不同CDN的具体操作界面略有差异,但核心逻辑都是基于路径匹配转发请求。

3. Apache服务器配置

若主站使用Apache,可启用mod_proxy和mod_rewrite模块,在.htaccess或配置文件中添加规则:

RewriteEngine On
RewriteRule ^landing-pages/(.*)$ https://lp.domain.com/$1 [P,L]
# 可选:设置代理请求头
ProxyPassReverse /landing-pages/ https://lp.domain.com/

注意事项

  • SEO优化:建议在lp.domain.com的页面中添加noindex meta标签,避免Google将其判定为重复内容;同时确保主站代理返回的页面状态码为200,而非3xx跳转。
  • SSL证书:主站和lp.domain.com都需要配置有效的SSL证书,或通过CDN统一处理HTTPS请求,避免浏览器出现安全警告。
  • 缓存策略:需统一配置主站和lp服务器的缓存规则,或在CDN中设置独立的缓存策略,防止用户看到过期内容。

内容的提问来源于stack exchange,提问作者NotAnotherCliche

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 18:39:56